Online Ad Performance Metrics
This dataset provides detailed, synthetic logs of online ad campaign performance across multiple channels, capturing impressions, clicks, conversions, spend, and targeting details for each ad. It enables robust machine learning applications in ad optimization, audience targeting, and ROI prediction, supporting granular analysis by campaign, channel, device, and placement. Ideal for marketers, analysts, and data scientists seeking actionable insights into digital advertising effectiveness.
Sample rows
preview · 8 of 200 rows · all 16 columns| log_idstring | channelstring | clicksinteger | ad_group_idstring | campaign_idstring | ad_idstring | datedate | impressionsinteger | conversionsinteger | spendfloat | conversion_valuefloat | targeting_criteriastring | device_typestring | placementstring | bid_typestring | ad_statusstring |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A1b2C3d_ | social | 12850 | grp_01 | camp_101 | ad_001 | 2024-06-01 | 152430 | 1054 | 12000.45 | 142300 | broad, trending topics, NYC | mobile | feed | CPM | active |
| XyZ9_3pQ | display | 320 | grp_02 | camp_102 | ad_002 | 2024-06-02 | 3200 | 45 | 250.1 | 2100 | homeowners, age 35+, Chicago | desktop | sidebar | CPC | active |
| lMnoPqRs | video | 41 | grp_03 | camp_103 | ad_003 | 2024-06-03 | 870 | 17 | 58.7 | 600 | grandparents, age 60+, Dallas | tablet | pre-roll | CPV | completed |
| pQrS8tUv | 76 | blank | camp_104 | ad_004 | 2024-06-04 | 650 | 23 | 42.3 | 1700 | VIP customers, Boston | desktop | inbox | CPL | completed | |
| TuvWx_yZ | native | 134 | blank | camp_105 | ad_005 | 2024-06-05 | 1200 | 40 | 65.2 | 2200 | subscribed users, segment B, Seattle | desktop | article | CPA | completed |
| B7c8D9eF | search | 390 | grp_04 | camp_106 | ad_006 | 2024-06-06 | 4500 | 57 | 210 | 3300 | young professionals, LA | mobile | feed | CPC | active |
| CDEf_123 | display | 120 | grp_05 | camp_107 | ad_007 | 2024-06-07 | 980 | 14 | 40.1 | 800 | parents, age 30-45, Miami | desktop | sidebar | CPM | active |
| eFgH_IJK | social | 5100 | grp_06 | camp_108 | ad_008 | 2024-06-08 | 68000 | 350 | 4200 | 32000 | broad, trending topics, London | mobile | feed | CPM | active |
| F6g7H8iJ | native | 97 | blank | camp_109 | ad_009 | 2024-06-09 | 900 | 29 | 54 | 1350 | VIP customers, segment C, Toronto | desktop | article | CPA | completed |
| G8h9I0jK | 41 | blank | camp_110 | ad_010 | 2024-06-10 | 500 | 12 | 22.5 | 800 | subscribed users, Berlin | desktop | inbox | CPL | completed | |
| H1i2J3kL | social | 13020 | grp_01 | camp_101 | ad_001 | 2024-06-02 | 155000 | 1065 | 12150.35 | 143500 | broad, trending topics, NYC | mobile | feed | CPM | active |
| iJkL_mNo | display | 295 | grp_02 | camp_102 | ad_002 | 2024-06-03 | 3100 | 41 | 235.4 | 1750 | homeowners, age 35+, Chicago | desktop | sidebar | CPC | active |
| JkL1_mN2 | video | 38 | grp_03 | camp_103 | ad_003 | 2024-06-04 | 950 | 16 | 62.83 | 510 | grandparents, age 60+, Dallas | tablet | pre-roll | CPV | completed |
| K2l3M4nO | 81 | blank | camp_104 | ad_004 | 2024-06-05 | 620 | 27 | 39.2 | 1200 | VIP customers, Boston | desktop | inbox | CPL | completed | |
| lMnO_pQr | native | 142 | blank | camp_105 | ad_005 | 2024-06-06 | 1400 | 44 | 69.4 | 2400.5 | subscribed users, segment B, Seattle | desktop | article | CPA | completed |
| M3n4O5pQ | search | 410 | grp_04 | camp_106 | ad_006 | 2024-06-07 | 4700 | 60 | 220 | 3500 | young professionals, LA | mobile | feed | CPC | active |
| nOpQ_rSt | display | 127 | grp_05 | camp_107 | ad_007 | 2024-06-08 | 1080 | 19 | 43.2 | 820 | parents, age 30-45, Miami | desktop | sidebar | CPM | active |
| O4p5Q6rS | social | 5200 | grp_06 | camp_108 | ad_008 | 2024-06-09 | 69000 | 374 | 4300 | 32500 | broad, trending topics, London | mobile | feed | CPM | active |
| pQrS_tUv | native | 88 | blank | camp_109 | ad_009 | 2024-06-10 | 830 | 23 | 47.4 | 1260 | VIP customers, segment C, Toronto | desktop | article | CPA | completed |
| Q5r6S7tU | 39 | blank | camp_110 | ad_010 | 2024-06-11 | 490 | 11 | 20.8 | 690 | subscribed users, Berlin | desktop | inbox | CPL | completed |
What the 200 rows show
from the 200-row sampleSocial channel stands out: mean clicks is 19,365, against 346.2 for the rest.
- 295median clicks
- 4device types
- 4ad statuses
- 5placements
- 5bid types
- 1,802median impressions
Median 295, from 0 to 43,100.
- string 10
- integer 3
- float 2
- date 1
Columns
16 columns in three groups| column | type | description | example |
|---|---|---|---|
| Text 10 columns | |||
log_id | string | Unique identifier for each ad performance log entryunique | A1b2C3d_ |
campaign_id | string | Unique identifier for the ad campaign | camp_101 |
ad_id | string | Unique identifier for the specific ad creative | ad_001 |
channel | string | Advertising channel where the ad was served (e.g., search, social, display)6 values | social |
ad_group_id | string | Identifier for the ad group within the campaignoptional | grp_01 |
targeting_criteria | string | Summary of targeting criteria used (e.g., demographics, interests, location)optional | VIP customers, Boston |
device_type | string | Type of device where the ad was displayed (e.g., mobile, desktop, tablet)mobile · desktop · tablet · other · optional | mobile |
placement | string | Ad placement location (e.g., feed, sidebar, pre-roll)5 placements · optional | feed |
bid_type | string | Type of bidding strategy used (e.g., CPC, CPM, CPA)CPC · CPM · CPA · CPV · CPL · optional | CPM |
ad_status | string | Current status of the ad (e.g., active, paused, completed)active · paused · completed · draft · optional | active |
| Numbers 5 columns | |||
impressions | integer | Number of times the ad was shown0 or more | 152430 |
clicks | integer | Number of clicks the ad received0 or more | 12850 |
conversions | integer | Number of conversion events attributed to the ad0 or more | 1054 |
spend | float | Total spend on the ad for the given log entry (in USD)0 or more | 12000.45 |
conversion_value | float | Total value generated from conversions (in USD)0 or more · optional | 142300 |
| Dates and times 1 column | |||
date | date | Date the log entry was recorded | 2024-06-01 |
15 SQL practice questions for the Online Ad Performance Metrics
Written for this data and checked against it: 12 SQL and 3 Power BI exercises from beginner to advanced. Try the first three free; the practice kit has all 15, a starter .sql file and an answer key with every expected result.
Active search ads by spend
Return log_id, campaign_id and spend for every row where channel is 'search' and ad_status is 'active'. Order by spend descending, then by log_id ascending.
Tables: online_ad_performance_metrics · your result: 3 columns, 32 rowsDistinct placements per channel
Return each distinct combination of channel and placement in the data, with the columns channel and placement. Order by channel, then by placement.
Tables: online_ad_performance_metrics · your result: 2 columns, 6 rowsRows per channel
Count the log rows for each channel. Return channel and row_count, ordered by row_count descending, then by channel ascending.
Tables: online_ad_performance_metrics · your result: 2 columns, 6 rows
- 04Total spend by deviceBeginner
- 05Conversion value by bid typePower BI
- 06Channels with high CTRIntermediate
- 07Spend size bucketsIntermediate
- 08Monthly spend and ROASIntermediate
- 09Channels above average CPCIntermediate
- 10Conversion rate by channelPower BI
- 11Top two campaigns per channelAdvanced
- 12Running spend by dateAdvanced
- 13Day-over-day impressions changeAdvanced
- 14Share of spend by channelAdvanced
- 15Percent of total spend visualPower BI
Get the practice kit: the full dataset, all 15 exercises, a starter .sql and the answer key. One-time $3.99.
Get the practice kit · $3.99Use it for
A marketing dashboard
Clicks by channel and a breakdown of ad_
group_ id. Excel, Power BI or Tableau. Why do the 33 social rows have a mean clicks of 19,365?
A root-cause class exercise
Hand out the rows and one question. The answer is in the data, not in the brief.
- Logs200A1b2C3d_12850socialXyZ9_3pQ320displaylMnoPqRs41video
A software demo
Believable logs with campaign_
id, ad_ id and channel to fill a screen in front of a buyer.
blueprint · online-ad-performance-metrics
Behind this dataset
Same schema. As many rows as you need.
These 200 rows came out of a blueprint — 16 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.
- Channel and campaign ID mapped
- Impressions, clicks, conversions logged
- Spend per campaign tracked
- Time-of-day effects simulated
- Include audience segment features
1 credit per row. Preview 20 rows free. Buy rows for the full run.
- Exports
- CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
- Licence
- yours to use, including commercially
- API slug
- online-ad-performance-metrics