Living Online

Agency OS

Paid search

Google Ads Reporting

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.

Consultant Prompt

Live data smoke-tested

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.

Default Inference

  • Infers Plunkett Homes and the configured Google Ads customer for Plunkett shorthand.
  • Infers previous complete month and prior-month comparison from concise date wording.
  • Treats GA4 as supporting site-outcome context rather than a strict Google Ads conversion reconciliation.
  • Uses review-required internal delivery unless a later approved client rollup flow is requested.

Data Sources

  • Google Ads live account, campaign, ad group, search-term, asset, and change-history evidence where API queries succeed.
  • GA4 paid search sessions, conversions, revenue, and landing-page outcomes.
  • Optional Cloudflare Browser Run landing-page checks for moving final URLs.

Output Contract

  • Internal HTML Google Ads report attached to the source Asana task.
  • Review-required Asana comment.
  • Spend, traffic, efficiency, campaign, ad group, search-term, landing-page, and auction/change-history sections.
  • Cause hypotheses with confidence, lag timing, and follow-up checks.

Guardrails

  • No budget, bid, keyword, asset, conversion, tracking, website, or account changes.
  • No client-facing publishing.
  • Optional provider failures degrade into explicit data-quality caveats.

Current System Context

Recent changes
  • Live-data smoke on 2026-05-20 produced plunkett-homes-april-2026-internal-google-ads-report.html from the hosted Asana path.
  • Attachment verification confirmed live Google Ads evidence and no synthetic fixture caveat.
  • Browser Run use is intentionally limited to bounded landing-page checks.

Prompt Source

skills/google-ads-reporting/SKILL.md
---
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.

Related Docs

3 references
  • Google Ads Reporting Skill decisions/google-ads-reporting-skill.md
  • Google Ads Reporting Skill docs/runbooks/google-ads-reporting-skill.md
  • Team Agent Work Intake docs/runbooks/team-agent-work-intake.md