Marketing and growth teams
Ads performance with GA4, Meta Ads, and Search Console
Correlate paid social spend, site conversions, and organic search demand in one marketing performance brief.
Outcome: A weekly ads brief with Meta spend efficiency, GA4 conversion trends, and rising Search Console queries to inform budget shifts
Integrations in this workflow
The problem
Marketing teams review Meta Ads, Google Analytics, and Search Console in separate tabs. Spend decisions miss organic demand signals and on-site conversion context.
Example prompt
Build this week's ads performance brief on the private gateway. Pull Meta Ads account insights for the last 7 days, run a GA4 report for sessions and key events over the same period, and list rising Search Console queries for our primary domain. Highlight campaigns with rising CPA, pages where organic clicks grew but paid traffic fell, and recommend where to shift budget — do not change any campaigns.
Gateway tool bundle
Use namespaced tools on the private gateway or business gateway:
Google Analytics 4 (read-first)
ga4__list-account-summaries-tool→ga4__get-property-toolto confirm the propertyga4__run-report-toolfor sessions, users, and conversion events by date and default channel groupga4__run-realtime-report-toolfor a quick sanity check on live traffic
Meta Ads (read-first)
meta-ads__list-ad-accounts-tool→meta-ads__get-ad-account-toolfor the active accountmeta-ads__list-campaigns-tool→meta-ads__get-campaign-insights-toolfor spend, impressions, and resultsmeta-ads__list-ad-sets-tool→meta-ads__get-ad-set-insights-toolwhen you need placement-level detail
Search Console (read-first)
search-console__list-sites-tool→search-console__get-site-toolto confirm the propertysearch-console__query-search-analytics-toolfor clicks, impressions, CTR, and position by query and page
Start with list-services-tool or describe-service-tool to confirm all three integrations are connected.
Token scope recommendations
Private gateway (individual marketers)
- Scope API tokens to
mcp:private-gatewayand addmcp:ga4,mcp:meta-ads, andmcp:search-consolewhen you want explicit per-integration limits instead of full gateway access.
Business gateway (shared marketing workspace)
- Use
mcp:business-gatewayso the brief respects the company integration allowlist. - Bind tokens to a company environment when staging ad accounts must not mix with production reporting.
Least-privilege example
{
"abilities": [
"mcp:private-gateway"
]
}
Instruct agents to call only list-*, get-*, run-report-tool, query-search-analytics-tool, and *-insights-tool endpoints. Keep Meta create-*, update-*, and delete-* tools out of automated playbooks.
Company integrations checklist
- Connect GA4 — OAuth with read access to the property you report on.
- Connect Meta Ads — OAuth with ads read permissions for the ad account under review.
- Connect Search Console — OAuth scoped to the site that matches your landing pages.
- Issue a gateway token — prefer scoped abilities over
*full access. - Verify with a read-only prompt — run the example prompt above and confirm audit logs attribute calls to the correct workspace.
Governance
- Read-only by default: this playbook is for analysis. Do not enable Meta campaign edits or bulk budget changes without explicit human approval per action.
- Attribution limits: GA4 and Meta use different attribution models; note the reporting window and model in any recommendations shared with stakeholders.
- Search Console lag: query data is typically 2–3 days behind; align date ranges with GA4 and Meta when comparing week-over-week trends.
- PII and client data: ad and analytics exports may include customer segments; paste redacted summaries into public Slack threads and review Audit logs before sharing externally.
Connect via private gateway
Activate the integrations above, create an API token scoped to mcp:private-gateway, then add this config to your MCP client.
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"stackgate-private-gateway": {
"url": "https://stackgate.ai/mcp/private",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}