> ## Documentation Index
> Fetch the complete documentation index at: https://docs.granvl.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Common questions, quick answers.

<AccordionGroup>
  <Accordion title="Do I need an AI agent to use granvl?">
    Yes, for building. Pages and variants are authored by your agent (Claude, Codex, Cursor, or any MCP client) and pushed to granvl; there's no drag-and-drop page builder. The dashboard is where you monitor performance, manage domains, forms, and ad accounts, and act on the copilot's suggestions. See [Connect your agent](/connect-your-agent).
  </Accordion>

  <Accordion title="Which agents work with granvl?">
    Anything that speaks MCP: Claude (web and desktop), Claude Code, Codex and Codex CLI, Cursor, and any other MCP-capable client, including headless/server-side agents using an API key. Setup for each is in [Connect your agent](/connect-your-agent).
  </Accordion>

  <Accordion title="Where do my leads actually go?">
    Directly from the visitor's browser to the destinations you configure (webhook, CRM, LeadProsper, …). granvl records that a conversion happened, never the form's contents. See [Forms](/guides/forms).
  </Accordion>

  <Accordion title="Can I connect my Meta ad account yet?">
    Not quite yet. granvl is in Meta's app review queue, so the one-click Meta connection is coming soon. Google Ads connects today. In the meantime, ask your agent to record your Meta campaigns and spend over MCP with the `record_ad_entities` and `record_ad_spend` tools, and the spend shows up in Campaigns just like a native sync. See [Ads](/guides/ads).
  </Accordion>

  <Accordion title="Why do Meta's conversion numbers differ from granvl's?">
    Meta reports platform-attributed conversions (its own modeling and attribution windows). granvl counts first-party conversions that actually happened on your pages. They rarely match exactly; first-party is what your CRM will agree with. Both are shown side by side in the ads tables.
  </Accordion>

  <Accordion title="My ad spend shows but conversions are blank or 0">
    That's a UTM join issue: the visitors from those ads aren't carrying the IDs that link them back to the ad. Use the funnel page's **Copy URL & Meta/Google UTMs** buttons for your ad destination URLs, then check the **Tracking health** section on the Ads page. It names the exact entity with the problem and the fix.
  </Accordion>

  <Accordion title="Can teammates join my workspace?">
    Yes. Invite them under **Settings → Team Profile**. Roles gate sensitive actions (billing, ad-account connections, secrets).
  </Accordion>

  <Accordion title="Is a visitor's variant sticky?">
    Yes. A visitor keeps the variant they were first assigned for the whole session, so split-test math stays clean and the experience is consistent.
  </Accordion>

  <Accordion title="If granvl's database has an outage, do my pages go down?">
    No. Published pages are pre-baked and served from an edge cache that doesn't depend on the database. Serving is decoupled from the app by design.
  </Accordion>

  <Accordion title="How fresh are the dashboard numbers?">
    Near-real-time. Funnel detail stats refresh on a \~10-second window; overview and campaign screens within \~30–60 seconds; ads data updates on sync (daily automatic + on-demand).
  </Accordion>
</AccordionGroup>

Still stuck? Message us from the in-app chat bubble. A human (or our AI, who will admit it's an AI) will sort you out.
