Verify leads, traffic and rankings
Buyers trust numbers they can check. You can have three parts of your listing verified by Xagio instead of typed in: leads (from call tracking and form tools), organic traffic (from Google Analytics 4 or Search Console) and rankings (from Xagio Rank Tracker).
Leads and the Verified badge
Section titled “Leads and the Verified badge”Every listing has a private ingestion URL. You point your call tracking and form tools at it, and Xagio counts the leads and works out the qualified rates.
The listing earns the Verified badge automatically when it has lead data from your tools for at least 3 of the last 12 months, plus both a qualified call rate and a qualified form rate. The badge drops if the data falls below that, and Xagio staff can revoke it.
Get your ingestion URL
Section titled “Get your ingestion URL”- Open the listing in the editor and click Lead data & API key (or Connect data on My listings).
- On Lead data & Verified badge, find Your ingestion endpoint and click Copy URL.
Treat the URL like a password. Anyone with it can add lead events to your listing. If it leaks, click Rotate key and update your webhooks with the new URL.
Send events
Section titled “Send events”Send a POST request with JSON to your ingestion URL.
A call, from the “call completed” webhook of CallRail, CallTrackingMetrics, Twilio or similar:
{"type": "call", "id": "CAL-1029", "occurred_at": "2026-09-01T14:02:00Z", "duration_seconds": 95, "phone": "+12145550123"}A form, from your form plugin, Zapier, Make or similar:
{"type": "form", "id": "wpf-5521", "occurred_at": "2026-09-01T15:40:00Z", "phone": "+1 214 555 0123", "email": "[email protected]", "honeypot": false}To backfill history, send a batch: {"events": [ ... ]}, up to 500 events per request. occurred_at can be up to 13 months back. Re-sending the same id is safe: it is only counted once.
Responses:
| Code | Meaning |
|---|---|
| 201 | Recorded |
| 200 | Already recorded (same id) |
| 422 | Invalid event |
| 404 | Wrong key |
| 413 | More than 500 events in one batch. Nothing was recorded: split it. |
How leads are qualified
Section titled “How leads are qualified”- Call: qualified when
duration_secondsis 60 or more. - Form: qualified when the phone number has a valid shape (7 to 15 digits),
honeypotis false or empty, and no form with the same phone or e-mail came in for this listing in the previous 24 hours.
Monthly totals from your tools replace the numbers you typed for those months. Recent events shows the latest 30 events and whether each one qualified.
Verify traffic with Google
Section titled “Verify traffic with Google”- On Lead data & Verified badge, go to Traffic verification and click Connect Google.
- Sign in with the Google account that owns the site’s GA4 property or Search Console site. Xagio asks for read-only access.
- Choose a GA4 property, a Search Console site, or both. The Search Console site must match the listing’s domain.
- Click Save & pull 12 months.
The listing shows organic traffic as API verified, with a 12-month chart, refreshed nightly. Organic sessions / month becomes the average of the last 3 full months, and you can no longer edit it by hand.
Click Refresh now to pull again, or Disconnect to go back to seller-reported traffic. Choosing a different property replaces the months pulled before. You can revoke Xagio’s access any time from your Google account.
This connection is separate from the Xagio GSC app.
Import rankings from Rank Tracker
Section titled “Import rankings from Rank Tracker”If you track the site in Xagio Rank Tracker, you can attach those keywords to the listing.
- In the editor, go to Rankings with dated proof and click Import from Xagio.
- Pick the Tracked site. Only keywords tracked for the listing’s domain can be imported (www is ignored).
- Tick keywords, or click Select all ranked, then click Import selected.
Imported rows carry a Xagio badge, refresh nightly, and show to buyers as verified. You can’t edit them, only remove them. A keyword that drops out of the top 100 shows “not in top 100”. If the listing has no website yet, the tracked site becomes its website.
Troubleshooting
Section titled “Troubleshooting”- “New ingestion key generated. Update your webhooks.” The old URL no longer works. Paste the new one into your tools.
- “Pick at least one keyword.”
- “The Xagio Rank Tracker is not reachable right now.” Try again in a minute.
- “No verified Search Console sites on this Google account.” / “No GA4 properties visible to this Google account.” Connect the Google account that has access to the site.