{
  "slug": "paid-ad-cost",
  "name": "Ad cost",
  "aliases": [
    "Ad spend",
    "Total cost",
    "Spend"
  ],
  "definition": "Total money spent on Google Ads search over the period, summed from the Ads cost column.",
  "category": "Paid search",
  "type": "monetary",
  "unit": "account currency",
  "direction": "neutral",
  "verification": "review",
  "aggregation": "Sums across rows. Whole-domain only, the paid statistics dataset carries no segment dimension, so a segment argument is ignored and a note is returned.",
  "grain": "One number per date range, or one row per group_by value (search term, bidded keyword, page, ad group, campaign, campaign type, intent, category).",
  "dimensions": [
    "keyword",
    "campaign_keyword",
    "page",
    "adgroup_name",
    "campaign_name",
    "campaign_type",
    "intent",
    "category",
    "country",
    "device"
  ],
  "requiredFilters": [
    "date_range"
  ],
  "sources": [
    "google-ads"
  ],
  "reports": [
    "paid-organic-overlap-report",
    "paid-search-performance-report"
  ],
  "skills": [
    "paid-efficiency-review",
    "paid-organic-balance",
    "monthly-exec-review"
  ],
  "verbs": [
    "paid_search_overview"
  ],
  "rungs": [
    "R5"
  ],
  "levers": [
    "L8"
  ],
  "questions": [
    "How much are we spending on Google Ads?",
    "Where is spend going by campaign?",
    "Which bidded keywords cost the most?"
  ],
  "caveats": [
    "Whole-domain only: the paid statistics dataset scopes by a whole-domain flag rather than by segment, so a segment argument is dropped and the read stays whole-domain.",
    "The search term that triggered an ad and the bidded keyword are different fields; a cost report grouped by one is not a report grouped by the other.",
    "Same-day spend is provisional until Ads reporting settles overnight."
  ],
  "freshness": "~1 day behind, Ads reporting settles overnight; same-day spend is provisional.",
  "failureModes": [
    "Reading a segment-scoped cost number: there is none, any segment passed is ignored.",
    "Summing cost across a group_by breakdown and expecting the whole-domain total; the breakdown is capped at top_n."
  ],
  "notSameAs": [
    {
      "slug": "paid-cost-per-conversion",
      "why": "Cost is the absolute amount spent; cost per conversion is that amount divided by the ad platform's own conversion count."
    }
  ],
  "related": [
    "paid-average-cpc",
    "paid-cost-per-conversion",
    "paid-clicks"
  ],
  "workflows": [],
  "lastVerified": "2026-08-04"
}