The Political Ad Ledger · Chapter 1
What's in the Ledger
Before the findings, the source. What Google's public political-ads dataset actually records about India — 397,522 ads across eight years — and, just as important, the things it cannot tell us.
This is a booklet about what a single public dataset can and cannot reveal about political advertising in India. The dataset is bigquery-public-data.google_political_ads — Google's own record of every ad, run by a verified political advertiser, that its systems classified as election-related and served in India. It is the machine-readable spine of the Google Ads Transparency Center, and it is unusually rich: 397,522 individual ad creatives from 877 advertisers, each with its spend, reach, run dates, format, and targeting, from February 2019 to the day of extraction in July 2026.
Before drawing any conclusions from it, this chapter does the unglamorous but essential work: what the data records, how it records it, who is actually in it, and where its blind spots are. Every later chapter inherits these caveats.
1 The rise
The first thing to understand is that this is a young, fast-growing record. Political ad spending on Google in India was negligible in 2019 and exploded around the 2024 general election. The dataset is a live mirror — it grows every week — so any total is a snapshot, not a closed book.
Reported political-ad spend in India, by year
Sum of per-ad spend midpoints, INR crore · 2019 partial (from Feb), 2026 partial (through mid-July)
2 Four tables, two grains
The dataset is relational. Four tables carry essentially everything we use; the rest are deprecated or non-India. Two describe ads, two describe advertisers and places.
| Table | One row is… | What it gives |
|---|---|---|
| creative_stats | one ad creative | format, run dates, spend range, impressions band, age/gender/geo targeting, a link to the ad |
| advertiser_stats | one advertiser | lifetime total spend and number of ads |
| advertiser_weekly_spend | advertiser × week | spend over time — the time-series spine |
| geo_spend | one region | total spend served into each state/UT (all advertisers combined) |
3 It isn't one thing — it's five
The phrase "political advertiser" suggests parties. But sort every advertiser by what it actually is, and the dataset splits into five distinct ecosystems. Parties are the largest, but under half the spend. Government departments advertising with public money, a dense layer of campaign consultancies and ad-tech vendors, news-media companies, and a tail of commercial brands the classifier caught by mistake make up the rest. Recognizing this split is the single most important interpretive move in the booklet — three of the later chapters are really about one of these bands.
Who is inside "political advertisers"
Every India advertiser classified into five types · bar = spend (₹ cr) · hover for advertiser and ad counts
4 How it records — and what it hides
The dataset's precision is deliberately limited, for privacy and by design. Reading it well means holding five facts in mind at all times:
- Spend is a range, not a number. Every figure is a band (e.g. ₹2.5M–₹3M). We use the midpoint, so all totals are estimates with a margin — never audited amounts.
- India is INR-only. The dollar columns are zero for India; everything is rupees.
- Reach is bucketed too. Impressions come as bands ("10k–100k"), not counts — and about 40% of ads never cleared 1,000 impressions.
- "Political" is Google's call. Its net includes government scheme-publicity and occasionally commercial brands, so the universe is broader than "party ads."
- No creative content. The dataset has a link to each ad, but not its words, image, or video. Everything in this booklet's structured chapters is inferred from metadata — what was spent, when, where, and in what format — not from what the ads said. Reading the creatives themselves is a separate effort (the forthcoming Chapter 5).
One more structural gap worth naming: Google publishes a per-advertiser geographic breakdown only for the United States. For India, the finest geography is geo_spend — total spend per state across all advertisers combined. So this booklet can say how much was spent in Tamil Nadu, but not, from this table, exactly who spent it there.
Our approach
- Extraction. Pulled from BigQuery with a dry-run cost gate (a hard stop well inside the free tier); the India slice is a compact set of parquet files, re-derivable with one command.
- Aggregation. All charts read small pre-computed tables, not the raw 397k rows, so every figure is fast and reproducible.
- Entity classification. The five-ecosystem split is a hand-built layer: the top ~55 advertisers by spend are coded from public records with sources; the tail is keyword-heuristic and flagged as such.
- Honest scope. This is Google/YouTube only — not Meta, television, print, or outdoor, where political spending is far larger. It is a clear window onto one platform, not the whole picture.