Marketing team playbook
You own paid media and analytics. This playbook covers auditing live (and past) ad campaigns across Google Ads and Meta, pulling GA4 + Search Console, and reading behaviour data — everything read-only, so you can report without touching a campaign.
What you can do
Section titled “What you can do”- Run Google Ads reports with any GAQL query (campaigns, ad groups, keywords, search terms, cost, conversions).
- Pull Meta (Facebook / Instagram) Ads insights (spend, CTR, CPC, actions) at account / campaign / ad-set / ad level, with breakdowns.
- Read GA4 traffic and Search Console query/page performance.
- Read Microsoft Clarity engagement + heatmap metrics.
- Audit funnels, opt-in rates and A2P messaging compliance on GoHighLevel.
Prerequisites
Section titled “Prerequisites”- A token scoped to the client’s sites.
- Google Ads: the site’s bound Google user has connected Google with the
adwordsscope, the Worker has aGOOGLE_ADS_DEVELOPER_TOKEN, and the site carriesgoogle_ads_customer_id(a leaf ad account, not a manager/MCC — plusgoogle_ads_login_customer_idwhen reached via an MCC). - Meta Ads: the Worker has
META_APP_ID+META_APP_SECRET, the site’s bound user has connected Meta at/admin/users, and the site carriesmeta_ad_account_id. - GA4 / Search Console: Google connected with Analytics + Search Console
scopes; site carries
ga4_property_id/gsc_site_url. - Clarity: site carries
clarity_project_id+ Data Export token.
Core tools
Section titled “Core tools”| Feature | Tools |
|---|---|
| Google Ads | get_google_ads_report (GAQL, cost in micros) |
| Meta Ads insights | get_meta_ads_insights |
| Meta account structure | list_meta_ad_accounts, get_meta_ad_account, list_meta_campaigns, list_meta_adsets, list_meta_ads |
| GA4 | get_ga4_report |
| Search Console | get_gsc_search_analytics |
| Clarity | clarity_get_metrics, clarity_get_heatmap_metrics, clarity_get_historical_metrics |
| Funnel / opt-in / A2P | ghl_get_funnel_stats, ghl_compute_opt_in_rate, ghl_get_campaign_a2p_stats |
| Blended SEO report | generate_seo_report |
Example prompts
Section titled “Example prompts”For "kleentech", run a Google Ads report for the last 30 days: campaigns bycost with clicks, conversions, CPC and CTR. Then a second query for keywordsthat spent money but got 0 conversions. Flag what I should pause.Two get_google_ads_report calls. Useful GAQL to hand it:
SELECT campaign.name, metrics.cost_micros, metrics.clicks, metrics.conversions, metrics.average_cpc, metrics.ctrFROM campaign WHERE segments.date DURING LAST_30_DAYSORDER BY metrics.cost_micros DESCPull Meta Ads insights for "acme" for the last 14 days at campaign level, thenbreak the top spender down by publisher_platform and by age/gender. Where isthe money going and what's converting?get_meta_ads_insights with level=campaign, then breakdowns.
For "acme-blog": GA4 sessions by channel last month, plus Search Consoleclicks. Compare organic search against the paid numbers from Google Ads so Ican show blended CAC.get_ga4_report + get_gsc_search_analytics + get_google_ads_report.
The paid landing page for "acme" is converting badly. Pull Clarity rage-clickand scroll-depth metrics for that URL over the last 3 days and tell me whereusers drop off.clarity_get_heatmap_metrics + clarity_get_metrics.
Gotchas
Section titled “Gotchas”- Reference: all tools — every argument for the report tools.
- SEO playbook — organic side of the same funnel.
- CRM playbook — connect ad spend to booked revenue.