XenonFlare

Guides

GSC, GA4 + crawl correlation

Find pages that drive search clicks or site traffic but score poorly in your latest crawl — fix those first.

GSC metrics in the issue workspace

28-day clicks and impressions inline when you open a crawl issue for a URL.

Correlation at a glance
Search Console12,420 impressions284 clicks · pos. 6.2Latest crawl/products/widgetsSEO score 42Prioritize fixHigh traffic +low crawl scorecrawlCorrelation[]

Sort crawlCorrelation by clicks, then fix URLs where score falls below your threshold.

Workflow

  1. Link Search Console and Google Analytics in Connectors (one-time per website).
  2. Optional: POST /properties/:id/gsc/sync (gsc:write) to refresh GSC data before analysis.
  3. Queue a crawl: POST /properties/:id/scans.
  4. Poll GET /jobs/:id until status: completed.
  5. Fetch GET /properties/:id/gsc and read snapshot.crawlCorrelation.

Reading crawlCorrelation

Each row typically includes:

  • pageUrl — URL present in both GSC and crawl data
  • clicks / impressions — 28-day GSC traffic
  • score — latest crawl score for that URL

Sort by clicks descending, filter where score < 70 (or your threshold), and export to your task tracker.

Add GA4 traffic context

GA4 Connectors sync in the web app (not via the Developer API today). After linking GA4, open Connectors → Google Analytics to review 28-day sessions, users, bounce rate, and top landing pages next to Search Console clicks on the Connectors overview.

Use the top pages table to find URLs with strong on-site traffic, then cross-check those paths against GET /properties/:id/issues?status=open and low crawl scores from your latest scan. Pages that rank in GA4 but not yet in GSC are still worth fixing before they start earning clicks.

Setup: Google Analytics integration docs · Product overview.

Cross-check with issues API

After the crawl completes, list open issues: GET /properties/:id/issues?status=open. Match pageUrl on critical issues against high-click URLs from GSC.

Example requests

# Refresh GSC (optional)
curl -X POST -H "Authorization: Bearer $XF_API_KEY" \
  https://api.xenonflare.com/api/v1/properties/$XF_PROPERTY_ID/gsc/sync

# Queue crawl
curl -X POST -H "Authorization: Bearer $XF_API_KEY" \
  -H "Idempotency-Key: crawl-$(date +%s)" \
  https://api.xenonflare.com/api/v1/properties/$XF_PROPERTY_ID/scans

# After job completes — full GSC payload with crawlCorrelation
curl -H "Authorization: Bearer $XF_API_KEY" \
  https://api.xenonflare.com/api/v1/properties/$XF_PROPERTY_ID/gsc

Field reference: GSC snapshot fields.

Create an API key

Combine gsc:read and jobs:write on one key to run this workflow.

Developer API access requires Starter, Growth, or Agency. Free tier includes the web app and free marketing tools — not API keys.