HookGet Open dashboard

The marketing command center

Where the traffic comes from, which source produces leads that actually close, what a lead costs, whether the phone was answered — and the revenue at the end. One event stream from ads to CRM to calls to Stripe, with an advisor that builds the first dashboards from your own data.

In short

  • Every stage reports into one pipeline: ad spend (Meta, TikTok), traffic (GA4), search (GSC), leads (Meta Lead Ads, GoHighLevel), calls (Twilio), revenue (Stripe).
  • One unit everywhere — money in cents, events in one envelope — so CPL, CPA and ROAS are divisions, not export projects.
  • The advisor profiles your data and proposes strategic dashboards with reasoning and evidence; one click creates, everything stays editable.
  • Deterministic anomaly alerts watch every stage hourly — a missed-call spike or a lead drop emails you with the numbers.
  • Your own LLM can run all of it by prompt over MCP, with a scoped key: 35 tools, from connect-a-source to read-me-the-revenue.
Spend to revenue, joined across four sources Ad spend events from Meta and TikTok, traffic events from Google Analytics, lead events from a CRM and payment events from Stripe flow through one pipeline. Because every event shares the same envelope, cost per click, cost per lead and return on ad spend are divisions between metrics that already live side by side. Spend ad.spend_reported Meta · TikTok Traffic web.traffic_reported Google Analytics 4 Leads lead.created · deal.won GoHighLevel Revenue payment.succeeded Stripe spend_cents / clicks cost per click spend_cents / leads cost per lead amount_cents / spend_cents return on ad spend every stage in cents, every stage the same envelope — the divisions are yours to run, anywhere the events land
Four providers, one pipeline, and the three ratios a growth team runs on. Because every connector reports money in cents and every event carries the same envelope, cost per click, cost per lead and ROAS are simple divisions wherever you land the events — a warehouse, a sheet, your own database.

The funnel, stage by stage

StageSourceEventsThe question it answers
Spendmeta-ads, tiktok-adsad.spend_reportedwhat did attention cost today
Trafficgoogle-analytics, google-search-consoleweb.traffic_reported, seo.performance_reportedwho arrived, from where
Leadsmeta-leads, gohighlevellead.created, lead.bookedwhich channel produces leads that book
Callstwiliocall.received, call.completed, call.misseddid the phone get answered when the ads ran
Closestripe, gohighleveldeal.created, payment.succeededwhat actually became money

Ways in, for whatever your stack is

Push and pull sources feeding one pipeline Push sources such as Stripe, SendGrid, GoHighLevel and n8n send signed webhooks that are verified at the door. Pull sources such as OpenAI and Anthropic are read on a schedule by HookGet, with a cursor. Both normalise into the same event store, fan out to the same destinations, and appear on the same delivery timeline. They call you Stripe · SendGrid · GHL · n8n Verified signature, raw bytes We call them OpenAI · Anthropic usage APIs Scheduled cursor · backoff · budget Normalised one event model Delivered same pipeline same retries · same timeline · same replay · same metering
Two ways in, one pipeline out. A Stripe payment, a bounced email and an hour of Claude usage become the same kind of event — filtered, delivered, retried and replayed exactly like the ones you publish yourself.

Set up by conversation — your LLM, our MCP

The whole surface is promptable. Connect any MCP-capable assistant to @hookget/mcp with a scoped API key, and the setup conversation looks like this:

you:  "Look at my HookGet data and tell me what my funnel is missing."
llm:  → describe_data
      "Spend, leads and revenue are flowing; calls and traffic are not.
       Your funnel is blind between the ad click and the CRM entry."
you:  "Connect my GA4 property 123456789 and build what you recommend."
llm:  → create_source {provider: "google-analytics", config: {property_id: "123456789"}, ...}
      → suggest_dashboards
      "The advisor proposes a Marketing command center (spend + leads +
       revenue are all present). Reason: per-platform consoles each see one
       stage; this view sees the hand-offs. Create it?"
you:  "Yes."
llm:  → create_dashboard {definition: …}   # validated whole; scoped to YOUR project by the key

The security shape, stated: the model proposes; HookGet's validated, tenant-scoped layer decides. A dashboard definition cannot name a tenant, queries compile server-side, and the MCP key carries exactly the scopes you gave it. Your prompts run on your AI account — HookGet adds no LLM, no per-call cost, no data sharing.

Questions

What does "the advisor" actually do?

It reads what your project's last 30 days actually contain — which event families are flowing, at what volumes, with which metrics — and proposes the dashboards that data supports, each with its reasoning and the evidence that fired it. When spend, leads and revenue all flow, it composes a command center for your exact mix (the call widgets appear only if telephony reports). Every proposal is validated before you see it; creating one is a click. It is deterministic: the same data always produces the same advice.

Where does AI fit, honestly?

Your AI, not ours. Connect your own LLM — Claude, or anything MCP-capable — to HookGet's MCP server with a scoped API key, and it can do everything this page describes by conversation: inspect your data, narrate the advisor's proposals, adapt them, create the dashboards, wire new sources, read the numbers back. HookGet's side stays deterministic (ADR: the model proposes, the validated layer decides), which means no LLM runs on our servers, nothing is added to your bill, and your prompts never leave your own AI account.

Which CRM and payment systems fit?

Out of the box: GoHighLevel (leads, deals, appointments), Meta Lead Ads (Facebook and Instagram forms), Stripe (payments through to disputes), Twilio (calls and SMS). HubSpot and generic CRMs connect today through the webhook door or an n8n flow; native connectors follow the same template. Any payment provider that signs webhooks can enter through the verified generic door.

What can I NOT see here?

Click-level attribution across networks — each ad platform reports its own attributed numbers, and HookGet lands them side by side in one unit rather than re-attributing. Session recordings and page heatmaps are a different product category. And LinkedIn Lead Gen needs their partner programme — today that route is LinkedIn → n8n/Zapier → the n8n source.