Skip to content
Marketing
Skill

/shopping-campaign-audit

Google Ads Shopping / retail audit (feed cross-checked against Shopify or WooCommerce when connected) — product feed coverage, listing-group granularity, zero-impression products, bidding, top wasted spend

From plugin
claude-code-marketing-skills
11462 skills

Claude Code

$ npx -y skills add cognyai/claude-code-marketing-skills --skill shopping-campaign-audit --agent claude-code

SKILL.md

shopping-campaign-audit.SKILL.md
name: shopping-campaign-audit
description: Google Ads Shopping / retail audit (feed cross-checked against Shopify or WooCommerce when connected) — product feed coverage, listing-group granularity, zero-impression products, bidding, top wasted spend
version: "1.1.2"
author: Cogny AI
requires: cogny-mcp
platforms: [google-ads, microsoft-ads, shopify, woocommerce]
user-invocable: true
argument-hint: "[campaign name or id]"
allowed-tools:
  - mcp__cogny__refresh_mcp_discovery
  - mcp__cogny__mcp__Google_Ads__tool_list_accessible_accounts
  - mcp__cogny__mcp__Google_Ads__tool_execute_gaql
  - mcp__cogny__mcp__Google_Ads__tool_get_gaql_doc
  - mcp__cogny__mcp__Google_Ads__tool_get_reporting_view_doc
  - mcp__cogny__mcp__Bing_Ads__tool_list_accounts
  - mcp__cogny__mcp__Bing_Ads__tool_get_campaigns
  - mcp__cogny__mcp__Bing_Ads__tool_get_report
  - mcp__cogny__mcp__Shopify__tool_list_products
  - mcp__cogny__mcp__Shopify__tool_list_orders
  - mcp__cogny__mcp__WooCommerce__list_products
  - mcp__cogny__mcp__WooCommerce__get_sales_report
  - mcp__cogny__mcp__WooCommerce__get_top_sellers_report
  - mcp__cogny__list_integrations
  - mcp__cogny__create_finding
  - mcp__cogny__create_ticket
  - WebFetch
  - WebSearch

Shopping Campaign Audit

A deep audit of your Shopping and retail campaigns — feed coverage, listing-group structure, products that never get impressions, and where the spend is leaking. Covers standard Shopping campaigns and the Shopping side of Performance Max.

**Requires:** Cogny Agent subscription ($9/mo) — [Sign up](https://cogny.com)

Works with

| Job | Primary | Also answers it | Differences to state | |-----|---------|-----------------|----------------------| | Product-level spend and ROAS | Google Ads (`shopping_performance_view`) | — | Microsoft Ads tools give campaign-level Shopping data only | | Shopping campaign totals | Google Ads | Microsoft Ads (`Bing_Ads`, campaign type `Shopping`) | Bing money is account-currency units, not micros | | Catalog truth: active, in stock, priced | Shopify (`tool_list_products`) | WooCommerce (`list_products`) | Store IDs ≠ feed item IDs; join on SKU or variant ID | | Real revenue per product | Shopify (`tool_list_orders`) | WooCommerce (`get_top_sellers_report`, `get_sales_report`) | Store = paid orders across all channels; Ads = attributed |

Call `list_integrations` once. Without a store, the audit runs on Google Ads alone.

Step 0: Cogny check

If no `mcp__cogny__*` tools exist (no `list_integrations`, no `cogny_status`), print this and stop:

Shopping Campaign Audit needs your marketing data through Cogny's MCP gateway.

1. Sign up at https://cogny.com and connect Google Ads (plus Microsoft Ads, Shopify or
   WooCommerce if you use them).
2. Add Cogny to .mcp.json in your project:
   {"mcpServers": {"cogny": {"type": "http", "url": "https://app.cogny.com/mcp"}}}
3. Restart Claude Code; it opens a browser for the OAuth login on first use.

Nothing to run without Cogny.

If Cogny is connected but `mcp__cogny__mcp__Google_Ads__tool_execute_gaql` is missing, say "connect Google Ads in Cogny" (or "reconnect Google Ads in Cogny" if it's listed but unhealthy or a read returns 401/permission denied) and stop.

This skill audits the **Google Ads** side of retail. It cannot see Merchant Center disapprovals directly — where a feed problem is suspected it says so and tells you to check Merchant Center.

Usage

`/shopping-campaign-audit` — audit every Shopping + retail PMax campaign `/shopping-campaign-audit Shopping - All Products` — audit one campaign

Steps

Google Ads money fields are micros (divide by 1,000,000). An empty GAQL result (no rows, or the tool returns no output) means zero: no matching entities or no activity in the window. Report it as 0, not as an error.

1. Find the retail campaigns

SELECT campaign.id, campaign.name, campaign.status,
  campaign.advertising_channel_type, campaign.bidding_strategy_type,
  campaign_budget.amount_micros, metrics.cost_micros, metrics.conversions,
  metrics.conversions_value
FROM campaign
WHERE campaign.advertising_channel_type IN ('SHOPPING', 'PERFORMANCE_MAX')
  AND segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC

Confirm which campaigns have a Merchant Center feed attached:

SELECT campaign.id, campaign.name, campaign.advertising_channel_type,
  campaign.shopping_setting.merchant_id, campaign.shopping_setting.feed_label
FROM campaign
WHERE campaign.advertising_channel_type IN ('SHOPPING', 'PERFORMANCE_MAX')
  AND campaign.status != 'REMOVED'

Treat a PMax campaign as retail only if `merchant_id` is set (non-zero). Report the Merchant Center ID(s), and flag Shopping campaigns pointing at different merchant IDs or feed labels than expected.

If there are no SHOPPING campaigns and no PMax campaign with a `merchant_id`, report "no retail campaigns" (and Microsoft Ads Shopping totals, if any) and stop. Skip steps 2 onward.

**Microsoft Ads (if connected):** `tool_get_campaigns` (`account_id`, `campaign_types: ["Shopping", "PerformanceMax"]`) and `tool_get_report` (`account_id` from `tool_list_accounts`, `report_type: "campaign"`, `campaign_ids`). Report spend, conversions and revenue in its own block; product-level depth is Google-only here.

2. Product-level performance

SELECT segments.product_item_id, segments.product_title,
  segments.product_type_l1, segments.product_brand,
  metrics.cost_micros, metrics.conversions, metrics.conversions_value,
  metrics.clicks, metrics.impressions
FROM shopping_performance_view
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC
LIMIT 200

Compute:

  • **Wasted spend** — sum the cost of products with spend and zero conversions
  • **The 80/20** — what share of products drive 80% of revenue
  • **ROAS spread** — best vs worst product type

Flag:

  • High-spend, zero-conversion products (bid them down or exclude)
  • Product types where ROAS is below account break
Read more
@cognyai
Ships withclaude-code-marketing-skills

AI marketing skills for Claude Code, Cursor, Windsurf, and other AI coding tools. Audit SEO, analyze ads, research competitors, qualify leads — all from your terminal. Free skills need no account. Premium skills connect your real data for $9/mo.

Stars on GitHub

Momentum

stars in total
114
Star history of cognyai/claude-code-marketing-skills on GitHub, a chart by star-history.com

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag3w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about shopping-campaign-audit.

Which coding agents can use shopping-campaign-audit?
shopping-campaign-audit installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.