Datadory notebook

Advertising Spend vs Sales Dataset: Records, Coverage and Uses (2026)

Datadory delivers advertising spend vs sales data covering every grain the phrase covers: the 200-row TV/radio/newspaper classic behind two generations of regression teaching, roughly 935 community panels around it, click-through corpora at millions of rows, and account-grain campaign rows matched to your own revenue - typed, documented, delivered daily, weekly, or hourly.

1,744 datasets. Pick your catch.

What is an advertising spend vs sales dataset?

It is a table where each row is a market, period or campaign observation and the columns pair money spent on advertising channels with the revenue that followed. The canonical example - and the first result for this query for over a decade - is the Kaggle - Advertising Dataset (TV/Radio/Newspaper vs Sales): 200 rows and 4 columns, with television, radio and newspaper budgets in thousands of dollars and resulting sales in thousands of units. Every value is numeric, nothing is missing, and the whole thing reads at a glance.

The shape matters more than the size. Three spend columns against one outcome column is exactly what a linear regression, an elasticity estimate or a media mix model consumes, which is why this single file carries more than 77,000 recorded pulls and some 268 public notebooks - tutorials, coursework and interview take-homes all converging on the same four columns. When someone says "the advertising regression dataset," they mean this one.

Datadory catalogs it as one of 20 advertising records - 15 primary and 5 related from neighboring industries. Six of the primaries expose an official feed, and the family runs from this deliberately small teaching table to transaction-level government filings: orders of magnitude apart in scale, identical in the promise a single row makes.

Which named records pair budgets with revenue?

Four records cover nearly every request behind this keyword, ranked by how directly they answer it:

1. Kaggle - Advertising Dataset (TV/Radio/Newspaper vs Sales). The exact thing searched for: 200 market-level rows, three spend columns, one sales column. Its 268 public notebooks make it the most pre-analyzed advertising file in the catalog.

2. Kaggle - Advertising Datasets Hub. The scale-up path: roughly 935 community-uploaded advertising datasets totaling about 105 GB, with around 662,000 cumulative pulls and some 2,100 associated notebooks. Contents run from other TV/radio/newspaper variants to per-day campaign rows and per-ad creative records.

3. Account-grain campaign records. Reporting from Google Ads, Meta Marketing, TikTok Business and X Ads, normalized into one schema and joined to your order or revenue table on date and campaign - the only spend-vs-sales panel that matches the media you actually bought.

4. Hugging Face Datasets - Advertising Search. The click-level alternative: Criteo and Avazu benchmark derivatives running from millions to hundreds of millions of rows, for when your outcome is a click rather than booked revenue.

How big is each record, and what grain does it promise?

Four grains sit on one ladder. At the bottom, the micro-table: 200 rows by 4 columns, roughly 800 numbers that compress to a few kilobytes. One rung up, the community hub: about 935 uploads and 105 GB combined, mixing per-market panels with per-day campaign logs. Above that, account-grain platform rows: thousands of objects per ad account with insight rows accumulating per object per day, and history in the Meta record reaching 37 months back - long enough to rebuild three full fiscal years. At the top, click-level corpora: individual benchmarks running from millions to hundreds of millions of labeled rows.

Name the grain before you build, because each supports a different question. Market-period aggregates support elasticity work and nothing geographic - the classic ships no dates and no identifiers. Per-day campaign rows support time-series media mix models, but only for accounts you buy through. Per-ad creative rows power creative testing, not revenue modeling. Chart-level aggregates - where Statista - Advertising in the US stops - anchor totals, never regressions. Declared granularity is the difference between a model that survives production and one that quietly double-counts.

How do you run a spend-vs-sales analysis on the 200-row classic?

The 268 existing notebooks mostly follow the same arc, and it takes minutes rather than days because the whole file fits in memory:

  1. Load the 200 rows and confirm the four columns: TV, radio, newspaper and sales. There is nothing to clean, because there are no dates, no geography and no missing values.
  2. Fit a baseline ordinary least squares regression of sales on the three channels. The classic teaching result is that TV dominates, and the small row count keeps every coefficient inspectable by eye.
  3. Test channel interaction before trusting channel rankings; radio-plus-television synergy is the standard second model on this file.
  4. Convert coefficients into response curves per channel - the step that turns coursework into the skeleton of a working media mix model.
  5. Re-estimate on your own logged spend: swap the teaching panel for account-grain rows delivered on your schedule and keep the code unchanged.

Two caveats come straight from the record. First, coverage is unspecified markets with no geographic identifiers and no dates - a static snapshot, byte-for-byte stable since its March 2019 publication - so nothing you compute generalizes to a specific country or year without outside evidence. Second, its provenance traces to textbook-style advertising examples rather than a named commercial study, which earns it a place in classrooms and test suites rather than board decks.

What about campaign rows matched to your own sales?

For real budget decisions, the strongest spend-vs-sales table joins your order or revenue data to per-object campaign reporting from the four major platforms - and the four disagree on depth, which is the fact most consolidations paper over:

  • Meta Marketing API (Facebook Ads API) - insights reach up to 37 months back, sliced daily to monthly and broken down by publisher platform, placement, age, gender, country, region and device. Deepest look-back of the four.
  • Google Ads API - reports from customer down to keyword level, segmented by date and device, with reporting windows selected per query.
  • TikTok Business API & Ads Manager - breaks reporting down to creative level with hourly granularity; its Smart+ material report alone enumerates roughly 862 metric keys.
  • X (Twitter) Ads API - covers 7 days synchronously and up to 90 days asynchronously per job (45 when segmented), aggregated hourly, daily or in total.

Delivered through Datadory, the four land as one normalized panel beside your warehouse tables - daily, weekly, or hourly, your call - with the join keys declared up front. Consolidation is where the value sits: one schema instead of four, one definition of spend instead of a negotiation per platform.

When should you graduate from spend-vs-sales rows to click-level benchmarks?

A spend-vs-sales table models the end of the funnel. If your question is instead who will click, the standard training corpora are the Criteo and Avazu benchmarks surfaced by Hugging Face Datasets - Advertising Search: 17 repositories match "advertising", 29 match "criteo" and 4 match "avazu", with individual benchmarks running from millions to hundreds of millions of rows. Each ships typed against a documented schema, so Criteo-derived rows and Avazu rows land in one comparable frame. That is several orders of magnitude beyond 200 rows - measuring a different event, a click rather than a sale.

To anchor a modeled result in market reality, add aggregate benchmarks. The IAB/PwC Internet Advertising Revenue Report in IAB Insights & Industry Research Library has been published annually since the mid-1990s, with its 30th edition arriving in 2026, and Statista - Advertising in the US charts US spend by medium with forecasts reaching 2029-2030. Neither carries respondent-level rows, but both keep your modeled elasticities inside plausible market totals.

Where do these records fit in the wider advertising data stack?

Spend-vs-sales files answer attribution and planning questions; two adjacent families answer different ones, and knowing the boundary prevents wasted projects. Competitive creative intelligence lives in the transparency archives: the Google Ads Transparency Center archives millions of creatives across Search, Play, Maps, Shopping and YouTube with advertiser identity plus spend and impression ranges, holding commercial ads one year from last display and election ads seven, while TikTok Creative Center - Top Ads ranks high-performing auction ads by reach or click-through rate on a rolling 7-day default window. Neither publishes a revenue column, so neither substitutes for a regression set.

And if your "sales" question is actually about political advertising, the government record is deeper than any community upload: the FEC Campaign Finance Data & OpenFEC API holds about 1.69 million Schedule E independent-expenditure records for the 2024 period alone, with structured history reaching back to 1979. That is transaction-level money-out data, not outcomes data - a different dependent variable entirely.

Within Datadory's catalog this subject sits among 20 advertising records (15 primary, 5 related), whose mean quality score of 8.13 clears the catalog-wide average of 7.81. For the full landscape - campaign records, political money, creative archives and benchmark corpora together - start at the pillar guide.

Where to go next

Start with the advertising data guide for the whole 20-record landscape, then go straight to the records named above: the Kaggle - Advertising Dataset (TV/Radio/Newspaper vs Sales) profile for the 200-row classic, and the Kaggle - Advertising Datasets Hub profile for something bigger. The modeling workflows built on both live on the data scientists page.

Spend-vs-sales records compared (Datadory advertising catalog, August 2026)
RankRecordWhat it answersScaleHistory
1Kaggle - Advertising Dataset (TV/Radio/Newspaper vs Sales)The exact spend-vs-sales shape: three channel budgets, one sales outcome200 rows x 4 numeric columns, zero missing valuesStatic snapshot; fixed at 200 rows since March 2019
2Kaggle - Advertising Datasets HubThe scale-up path: campaign frames, CTR corpora, other spend-vs-sales variants~935 community datasets, ~105 GB combined, ~2,100 notebooksMostly snapshots uploaded 2017-2026; a few carry daily dates
3Meta Marketing API (Facebook Ads API)Deepest owned-campaign history, split by publisher, demographic and geographyPer ad account, campaign, ad set or adInsights reach 37 months back - three fiscal years
4Google Ads APISearch, Display, YouTube and Shopping from customer to keywordCustomer, campaign, ad group, ad and keyword rowsReporting windows selected per query
5Hugging Face Datasets - Advertising SearchClick-level training corpora when the outcome is a click, not a sale17 advertising matches; 29 criteo, 4 avazuVersioned snapshots per repository

Pick up where this leaves off

Every one of these ships with sample rows before you commit to anything.

Advertising Varies by member dataset

Kaggle Advertising Datasets Hub

Advertising Global, with language-specific corpora tagged (e.g. Polish…

Hugging Face Datasets - Advertising Search

Advertising Worldwide wherever Meta sells advertising

Meta Marketing API (Facebook Ads API)

impressions · clicks · reach …+15 more

Advertising Global - all markets where Google Ads serves

Google Ads API

GoogleAdsRow · GoogleAdsFieldService · name …+2 more

Advertising Global across markets where TikTok Ads Manager operates

TikTok Business API & Ads Manager

Want rows instead of a pitch? Name the datasets.

API, files, or your warehouse. Daily, weekly, or hourly.

Get a sample

Questions worth asking

What is an advertising spend vs sales dataset?

A table where each row pairs advertising money with the revenue that followed: markets, periods or campaigns on the rows, channel budgets and sales on the columns. The canonical example is the 200-row Kaggle - Advertising Dataset (TV/Radio/Newspaper vs Sales) - three budgets in thousands of dollars, sales in thousands of units, zero missing values.

Is there a bigger alternative to the 200-row advertising dataset?

Yes. The Kaggle - Advertising Datasets Hub holds roughly 935 community-uploaded advertising datasets totaling about 105 GB, including multi-platform campaign performance files and click-through data. On Hugging Face Datasets - Advertising Search, Criteo-derived benchmarks run from millions to hundreds of millions of rows, though they model clicks rather than offline sales.

Can campaign performance be matched to my own sales data?

Yes - Datadory delivers account-grain reporting from Google Ads, Meta Marketing, TikTok Business and X Ads normalized into one schema, joined to your revenue table on date and campaign. Meta reaches 37 months back, TikTok breaks down to hourly, X covers up to 90 days per job - delivered daily, weekly, or hourly.

Which dataset teaches media mix modeling best?

The 200-row classic: four columns, zero missing values, fixed since March 2019, so every cohort's homework reproduces identically. Fit sales on the three channels, test radio-plus-television interaction, then convert coefficients into response curves. Once the method holds, re-estimate on account-grain rows matched to your own revenue - the model graduates without a rewrite.