My agent can’t connect
- The connector never prompts for sign-in: re-add it with the exact endpoint
https://app.granvl.com/api/mcp. For stdio-only clients, bridge withnpx -y mcp-remote https://app.granvl.com/api/mcp. - Tools connect but act on the wrong workspace: OAuth follows your active workspace. Switch workspaces in the dashboard, then reconnect. API keys are pinned to their workspace and can’t drift.
- The agent connects but builds pages that don’t track: the skill isn’t installed. Ask the agent
Granvl: confirm the skill is installed; if the reply doesn’t start with “Granvl skill ready”, follow Install the skill.
My domain won’t verify
- DNS can take minutes to propagate; use Refresh on the domain card.
- Check the record type matches the card exactly: subdomains use a
CNAMEtocname.vercel-dns.com, apex domains use anArecord to76.76.21.21. A common miss is a proxying CDN (orange-cloud Cloudflare) in front of the record; set it to DNS-only. - If the card asks for an extra verification
TXTrecord, it’s required; add it alongside the main record.
Leads aren’t arriving at my CRM
- Open the funnel’s Lead delivery settings and hit Send test lead (available for GoHighLevel and Webhook destinations). It fires a clearly-fake payload carrying every field from every variant, so you can confirm the endpoint and map fields.
- For GHL specifically: the webhook URL must be the workflow’s Inbound Webhook trigger URL, and the workflow must be published after mapping. See Forms.
- Check granvl’s delivery alerts email; failed or unconfirmed sends trigger a workspace email within the hour.
- Field-name mismatches fail silently at some vendors (HubSpot rejects unknown fields, LeadProsper is case-sensitive and requires separate
FirstName/LastName). Compare your form’s field names against the destination’s expectations.
Spend shows but conversions are blank
The UTM join is broken: visitors from those ads aren’t carrying the IDs that link them to the ad. Use the funnel page’s Copy URL & Meta UTMs button for ad destination URLs, then check Tracking health on the Ads page; it names the exact entity with the problem and the fix.The platforms report different conversion numbers than granvl
Expected. Platforms report modeled, platform-attributed conversions; granvl counts first-party conversions that happened on your pages. First-party is what your CRM will agree with. Feed the platforms better signals with conversion APIs if their optimization needs it.A published change isn’t showing on the live page
Published pages are pre-baked and cached. Re-publish the funnel after edits; if you’re testing with the same browser repeatedly, remember your variant assignment is sticky for the session (open a private window to be re-assigned).My copy comes out generic
Your Strategy tab is probably empty or thin. Your agent follows one rule: a claim needs support that exists, and if the proof isn’t in the Product, the ICP research, or the Angle, it doesn’t write the claim. With nothing to point at, every headline retreats to something safe. Ask your agent what’s missing.get_copy_brief returns the gaps explicitly rather than inventing filler. The usual fix is one ICP with real language to mirror and core objections in it, plus a piece of Research carrying actual customer words.
An ads read comes back empty
Ask your agent to runget_ad_data_status. It reports the real reason without calling the ad network: last successful sync, staleness, a sync in progress, the exact failure, a missing connection, or an empty warehouse. Retrying the original read won’t tell you which of those it is.
My agent says a budget is too high
It hit a guardrail, and the error names which one. There are three: a hard $200/day platform ceiling on any budget granvl creates, your workspace’s max daily budget, and per-account daily and max-raise caps. All three are human-only, so raising one is your change to make under Settings → Ad Guardrails. See Ad Guardrails.Test traffic is polluting my funnel stats
Test-drive visits are tagged, but they still need clearing. Ask your agent to runcleanup_test_data on the funnel; a retention cron also purges test rows after 24 hours. If real numbers look wrong after a big edit rather than after testing, reset the variant’s or page’s stats instead so old traffic doesn’t pollute the new test.