FAQ & troubleshooting

Central troubleshooting for connections, data, GTM, plans and error codes: symptom → cause → action.

Connections & authorization#

SymptomCauseAction
Reports still empty after authorizingUnbound resource, or upstream latencyPick the GA4 property / GSC property in Settings; wait 24-48 hours
"Insufficient permission"Bound resource is not under that Google account, or the GSC property type is wrongRe-pick the resource; do not confuse domain vs URL-prefix properties
URL Inspection reports missing permissionOld read-only grantUse "Re-authorize" on the Google API page to gain write scope
Invalid token (invalid_grant)Revoked or expired on the user sideRe-authorize
Data mixed across sitesEach site binds its own resourcesSwitch with the header site picker and verify bindings per site

Data & definitions#

SymptomCauseAction
No data right after connectingUpstream latency (GA4 24-48h, GSC 1-2 days, PSI ~6h)Wait; the system backfills
Numbers disagree with another toolDifferent definitions / windows / sampling / time zonesSee "Data latency & metric definitions"
PSI score occasionally missingUpstream quota or timeoutThe next refresh restores it
Little AdSense page-level dataPAGE_URL has a minimum-impression thresholdRely on domain-level totals
Edge requests far exceed sessionsCloudflare counts all HTTP requests incl. static and botsA normal definition difference

GTM & events#

SymptomCauseAction
Import JSON says "invalid file format"Not export format 2 / wrong enum casingDownload the latest import file again from the console
Imported but no live dataThe version was not published in GTMVersions → Publish
Duplicate entitiesThe same names were imported twiceImport once, or choose "Overwrite"
Everything looks right but nothing firesSite loads container A, this binds container BMatch the GTM-XXXX in the page source with the bound container
Tag parameters are emptyBuilt-in variables not enabledVariables → Configure → enable the needed built-ins
Forms / outbound clicks do not firefetch-only submission; or outbound trigger without "Wait for tags"Use a custom event; enable waiting (2000ms)

Plans & quotas#

SymptomCauseAction
A feature says "upgrade to unlock"Locked on the Free planSee "Plans & feature gating"
URL Inspection quota exhaustedDaily quota (Free 0 / Pro 50 / Business 200)Wait for the UTC midnight reset, or upgrade
MCP data tools error outFree allows only metricskit_askUpgrade to use all tools
Incomplete AdSense page-level dataImpression thresholdUse domain-level data

Error codes#

CodeMeaningAction
CONNECTION_REQUIREDService not connected (403)Connect the data source
GOOGLE_AUTH_REQUIREDGoogle token invalid (503)Re-authorize
TOKEN_REFRESH_FAILEDToken refresh failed (503)Disconnect and reconnect
GA4_NOT_BOUND / NO_GA4_PROPERTYNo GA4 property selectedPick one in Settings
NO_GSC_PROPERTYNo GSC property boundBind it in Settings
GSC_PERMISSION_DENIEDWrong property type or no access (403)Re-pick the property
NO_ADSENSE_ACCOUNT / ADSENSE_MULTIPLE_ACCOUNTSNo account / multiple accounts need a manual pickFollow the prompt
PSI_UNAVAILABLE_OR_QUOTAPSI quota or timeoutRecovers on the next run
PLAN_REQUIREDPlan too low (403)Upgrade
AI_NOT_CONFIGUREDNo model configured (503)Page falls back to demo data
BILLING_NOT_CONFIGUREDBilling not configured (503)Contact the admin
CF_TOKEN_INVALIDCloudflare token invalid (400)Paste a valid token
UPSTREAMUpstream error (502)Retry later; check the upstream status if it persists
  • Site connections & authorization (/connections)
  • Data latency & metric definitions (/data-latency)
  • GTM console guide (/gtm-console)
  • Plans & feature gating (/plans)