Status
Live data smoke-tested
Current hosted implementation state.
Living Online
Paid search
Builds an internal paid-search performance report from Google Ads evidence with GA4 outcome context and bounded landing-page checks.
Status
Live data smoke-tested
Current hosted implementation state.
Trigger Surface
Asana task
Created or updated in Jessie Intake and assigned to Jessie.
Delivery
HTML artifact
Attached to the source task or linked as a stable artifact.
Approval
Review required
No client-facing or external-system action without human approval.
Example Asana request
Please do a Google Ads report for Plunkett Homes last month.
Routes when a Jessie-assigned Asana task asks for Google Ads, paid search, PPC, spend, conversion, ROAS, CPA, or search-term reporting.
---
name: google-ads-reporting
description: Agency OS Channel Skill for Google Ads reporting tasks. Use when an agent is asked to review paid search or Google Ads performance, explain spend/conversion movement, draft internal consultant reporting, recommend follow-up checks, write evidence, or propose reviewed context updates.
---
# Google Ads Reporting
Use this skill to produce an internal consultant-facing Google Ads report from an approved client context pack and a dated Google Ads data snapshot.
## Operating Rules
- Treat Asana as the task surface and review trail.
- Treat the client context pack as bounded context, not unrestricted client memory.
- Treat Google Ads as the primary paid search delivery source.
- Treat GA4 as supporting site outcome evidence, not an exact reconciliation source for Google Ads conversion counting.
- Use a universal paid search intent taxonomy first: Brand, Commercial category, Product/service, Location, Comparison/consideration, Price/cost, Informational, Navigational/support, Competitor, Remarketing/audience, Shopping/product feed, and Unknown / needs review.
- Derive client-specific search-term clusters from source data and context; do not create client-specific rule files for each rollout.
- Treat explanations as evidence-backed hypotheses, not hard attribution. Account changes, budget shifts, auction pressure, search-term mix, landing-page changes, tracking changes, and seasonality can affect results with same-period or lagged impact.
- When a likely cause is stated, include supporting evidence, confidence, expected lag, and the follow-up needed to confirm or reject it.
- Route model drafting through Cloudflare AI Gateway using OpenAI `gpt-5.5`.
- Limit Cloudflare AI Gateway custom metadata to five primitive values.
- Keep evidence writes separate from trusted context changes.
- Propose durable context updates for review; do not silently rewrite trusted context.
- Do not change budgets, bids, assets, keywords, conversion settings, tracking, websites, or client-facing reports without human approval.
## Inputs
Require these before drafting:
- Asana task with brand, report period, audience, questions, and expected outputs.
- Client context pack manifest with trusted `brief/`, `rules/`, and current `work/` or priorities context.
- Google Ads data snapshot with source metadata, date range, freshness, caveats, account-level metrics, and GA4 paid search metrics. Hosted Plunkett runs fetch this from the live Google Ads API when `TEAM_AGENT_GOOGLE_ADS_DATA_MODE=live`.
- Optional supporting snapshots for campaigns, ad groups, search terms, assets/ad copy, landing pages, auction insights, change history, Merchant Center, and bounded landing-page crawl checks.
- Approval gates for client-facing action, external system writes, and new secrets or credentials.
Use `fixtures/google-ads-reporting-input.example.json` as the synthetic contract fixture and local fallback, not as client evidence.
## Workflow
1. Validate the task request, context pack manifest, data snapshot, model policy, and approval gates.
2. If required fields or guardrails are missing, ask for clarification instead of drafting.
3. Summarise account-level cost, impressions, clicks, conversions, and value movement.
4. Drill into CTR, CPC, CPA, conversion rate, and ROAS movement.
5. Connect Google Ads conversion movement to GA4 paid search sessions and conversions.
6. Identify campaign and ad group movers.
7. Cluster search-term movement using the universal paid search intent taxonomy.
8. Review asset, ad copy, landing-page, auction insight, and change-history evidence when supplied.
9. Add bounded Browser Run landing-page evidence only when it helps explain moving paid traffic; full technical crawl work belongs in the technical SEO audit skill.
10. Draft findings with explicit evidence references and confidence.
11. Recommend next actions for consultant review.
12. Write or plan an evidence artifact under `evidence/`.
13. Plan any durable context changes under `proposed-updates/` for review.
## Output Shape
Return:
- Executive summary.
- Account-level Google Ads movement.
- Spend, traffic, and efficiency movement.
- Conversion, CPA, and ROAS movement.
- Campaign and ad group movement.
- Search-term and intent movement.
- Asset and ad copy movement.
- Landing-page movement.
- Auction and competitive evidence.
- Change-history evidence.
- Landing-page crawl evidence when supplied.
- Candidate cause hypotheses with confidence, same-period or lagged timing, and follow-up checks.
- Recommended consultant actions.
- Data quality notes.
- Evidence write plan.
- Proposed context update plan.
- Approval-gated actions not taken.
- AI Gateway model-call plan.
Target consultant delivery format:
- Generate a detailed internal HTML report page for easy consultant consumption.
- Attach the HTML file to the source Asana task, or link the Asana task to a stable hosted artifact.
- Keep client-facing rollup reports as a later approved output derived from the internal report.