M-Marketing · YouTube Performance

McNeill Stores — YouTube, 13 Markets

← Back to portfolio overview

Google Ads account 480-063-0074. Built directly from BigQuery; no manual export in the loop.

Reporting 2026-07-01 to 2026-07-31 · 31 days · page built 2026-09-14

Investment
$88,413
$2,852/day average
Impressions
8.30M
$10.65 CPM
People reached
4.62M
$19 per 1,000 reached
Frequency
1.8×
Google estimate, summed per market
Completed views
7.29M
87.87% watched to the end
Cost / 1k completed
$12.13
the portfolio benchmark
Clicks
4,875
0.059% CTR
Markets
13
over 31 days

01Market performance

The fair way to compare 13 markets running the same creative on the same bid strategy is cost per 1,000 completed views — it folds CPM and completion rate into one number, so a market that buys cheap impressions people abandon gets no credit for it. Portfolio average is $12.13; Columbus is the most efficient, Gainesville the least, a 29% spread.

portfolio avg $12.13Columbus$10.49Lexington$10.91Louisville$11.22Detroit$11.47Evansville$11.88Tallahassee$11.98Bowling Green$12.27Grand Rapids$12.55Fort Wayne$12.88South Bend$13.02Lansing$13.13Toledo$13.25Gainesville$13.54
MarketBudget/daySpend Impr.CPMCompl. CompletedCost/1k compl.Index
Columbus$150.00$7,408782,339$9.4790.24%706,013$10.4987
Lexington$50.00$3,341342,648$9.7589.34%306,123$10.9190
Louisville$100.00$6,662670,161$9.9488.57%593,588$11.2293
Detroit$300.00$14,9631,442,472$10.3790.40%1,303,963$11.4795
Evansville$75.00$3,713357,182$10.4087.50%312,541$11.8898
Tallahassee$75.00$3,709352,220$10.5387.92%309,678$11.9899
Bowling Green$50.00$3,330310,340$10.7387.45%271,380$12.27101
Grand Rapids$250.00$12,0391,076,116$11.1989.13%959,104$12.55103
Fort Wayne$75.00$6,288574,141$10.9585.01%488,049$12.88106
South Bend$125.00$7,042640,063$11.0084.48%540,708$13.02107
Lansing$100.00$5,636488,173$11.5487.92%429,208$13.13108
Toledo$150.00$10,045891,018$11.2785.07%757,973$13.25109
Gainesville$50.00$4,237371,008$11.4284.35%312,958$13.54112

02Where the ads actually ran

Google itemises channel-level placements for 3,659,116 impressions ($39,851). Within that portion the ads appeared on 14,175 distinct YouTube channels. This comes from the Google Ads API — the BigQuery transfer carries no automatic-placement data at all.

Inventory typeChannelsImpr. CostShare of impr.CPM
Creator / other14,1042,872,960$29,01778.5%$10.10
YouTube TV linear71786,156$10,83421.5%$13.78

Top 25 channels by impressions

ChannelImpr.Cost CPM
(YouTube TV) FOX News250,625$3,310$13.21
YouTube Movies95,099$1,139$11.98
(YouTube TV) MS NOW77,079$973$12.62
(YouTube TV) CNN55,950$755$13.50
(YouTube TV) ESPN48,706$699$14.35
ABC News36,012$339$9.42
Kai Cenat Live33,729$330$9.78
(YouTube TV) Hallmark TV33,172$468$14.11
SML32,464$371$11.44
CaseOh30,247$281$9.30
Midwest Safety27,504$278$10.10
Fox News24,481$248$10.13
Joe Bartolozzi24,438$248$10.13
(YouTube TV) TV Land20,391$293$14.36
Joe Bart Games20,206$186$9.19
(YouTube TV) CNBC18,827$247$13.11
CboysTV17,631$176$9.97
MeidasTouch17,264$184$10.64
(YouTube TV) Investigation Discovery17,143$237$13.83
MS NOW16,732$155$9.29
CBS News16,597$135$8.13
Sam and Colby16,293$169$10.36
(YouTube TV) FOX Business15,679$214$13.67
NBC News15,560$141$9.08
Unspeakable Studios14,723$136$9.23

The long tail is the real story. 11,533 channels — 81.4% of the list — delivered fewer than 100 impressions each, 5.4% of disclosed volume in total. Automatic placements concentrate on a handful of large channels and spray the rest across thousands nobody has reviewed.

03Who actually saw it

Delivery by age and gender, impression-weighted. Targeting is set to 45+, and the under-45 rows are stray delivery at trivial volume — their CPMs are noise, not signal.

AgeImpr.Cost CPMShare
45-542,875,690$31,162$10.8434.6%
Undetermined1,989,537$19,165$9.6324.0%
65+1,780,228$19,798$11.1221.4%
55-641,654,421$18,431$11.1419.9%
25-34931$160$171.350.0%
18-24670$105$156.580.0%
35-44500$79$158.260.0%
GenderImpr.Cost CPMShare
Male3,398,009$37,962$11.1740.9%
Female2,990,070$32,644$10.9236.0%
Undetermined1,913,898$18,294$9.5623.1%

24.0% of impressions — $19,165 — go to viewers Google cannot age-classify. On connected TV that is usually a shared living-room device rather than a failure of measurement. It is the cheapest inventory in the buy, so excluding it would raise the average CPM while cutting reach. Worth deciding deliberately rather than by default.

03When the ads ran

No ad schedule is set on any campaign, so delivery follows raw YouTube supply. The overnight block runs 14.8% of impressions for 13.6% of spend — 4,459,127 impressions costing $21,470, in the hours when a connected TV screen is most likely to be running unattended.

036912151821MonMonday 00:00 — 4,818 impressions/dayMonday 01:00 — 4,312 impressions/dayMonday 02:00 — 3,586 impressions/dayMonday 03:00 — 4,027 impressions/dayMonday 04:00 — 2,330 impressions/dayMonday 05:00 — 1,550 impressions/dayMonday 06:00 — 1,356 impressions/dayMonday 07:00 — 1,376 impressions/dayMonday 08:00 — 1,477 impressions/dayMonday 09:00 — 1,544 impressions/dayMonday 10:00 — 1,598 impressions/dayMonday 11:00 — 1,866 impressions/dayMonday 12:00 — 2,273 impressions/dayMonday 13:00 — 2,823 impressions/dayMonday 14:00 — 3,589 impressions/dayMonday 15:00 — 3,923 impressions/dayMonday 16:00 — 5,023 impressions/dayMonday 17:00 — 6,632 impressions/dayMonday 18:00 — 12,098 impressions/dayMonday 19:00 — 15,477 impressions/dayMonday 20:00 — 19,480 impressions/dayMonday 21:00 — 17,724 impressions/dayMonday 22:00 — 20,374 impressions/dayMonday 23:00 — 6,912 impressions/dayTueTuesday 00:00 — 3,990 impressions/dayTuesday 01:00 — 3,481 impressions/dayTuesday 02:00 — 4,672 impressions/dayTuesday 03:00 — 4,321 impressions/dayTuesday 04:00 — 3,174 impressions/dayTuesday 05:00 — 1,992 impressions/dayTuesday 06:00 — 1,222 impressions/dayTuesday 07:00 — 1,376 impressions/dayTuesday 08:00 — 1,251 impressions/dayTuesday 09:00 — 1,327 impressions/dayTuesday 10:00 — 1,444 impressions/dayTuesday 11:00 — 1,720 impressions/dayTuesday 12:00 — 2,088 impressions/dayTuesday 13:00 — 2,465 impressions/dayTuesday 14:00 — 2,729 impressions/dayTuesday 15:00 — 3,067 impressions/dayTuesday 16:00 — 3,576 impressions/dayTuesday 17:00 — 4,468 impressions/dayTuesday 18:00 — 10,157 impressions/dayTuesday 19:00 — 11,235 impressions/dayTuesday 20:00 — 12,742 impressions/dayTuesday 21:00 — 13,981 impressions/dayTuesday 22:00 — 14,380 impressions/dayTuesday 23:00 — 5,601 impressions/dayWedWednesday 00:00 — 6,156 impressions/dayWednesday 01:00 — 4,613 impressions/dayWednesday 02:00 — 5,227 impressions/dayWednesday 03:00 — 4,170 impressions/dayWednesday 04:00 — 2,388 impressions/dayWednesday 05:00 — 1,582 impressions/dayWednesday 06:00 — 1,286 impressions/dayWednesday 07:00 — 1,293 impressions/dayWednesday 08:00 — 1,228 impressions/dayWednesday 09:00 — 1,242 impressions/dayWednesday 10:00 — 1,420 impressions/dayWednesday 11:00 — 1,645 impressions/dayWednesday 12:00 — 2,072 impressions/dayWednesday 13:00 — 2,813 impressions/dayWednesday 14:00 — 3,042 impressions/dayWednesday 15:00 — 3,561 impressions/dayWednesday 16:00 — 3,862 impressions/dayWednesday 17:00 — 4,458 impressions/dayWednesday 18:00 — 11,605 impressions/dayWednesday 19:00 — 10,074 impressions/dayWednesday 20:00 — 12,475 impressions/dayWednesday 21:00 — 13,516 impressions/dayWednesday 22:00 — 14,101 impressions/dayWednesday 23:00 — 4,387 impressions/dayThuThursday 00:00 — 5,121 impressions/dayThursday 01:00 — 4,574 impressions/dayThursday 02:00 — 5,583 impressions/dayThursday 03:00 — 5,299 impressions/dayThursday 04:00 — 2,741 impressions/dayThursday 05:00 — 2,025 impressions/dayThursday 06:00 — 1,889 impressions/dayThursday 07:00 — 1,603 impressions/dayThursday 08:00 — 1,550 impressions/dayThursday 09:00 — 1,612 impressions/dayThursday 10:00 — 1,671 impressions/dayThursday 11:00 — 1,935 impressions/dayThursday 12:00 — 2,328 impressions/dayThursday 13:00 — 2,701 impressions/dayThursday 14:00 — 2,487 impressions/dayThursday 15:00 — 2,972 impressions/dayThursday 16:00 — 4,212 impressions/dayThursday 17:00 — 5,039 impressions/dayThursday 18:00 — 9,882 impressions/dayThursday 19:00 — 10,370 impressions/dayThursday 20:00 — 11,585 impressions/dayThursday 21:00 — 10,355 impressions/dayThursday 22:00 — 12,468 impressions/dayThursday 23:00 — 4,600 impressions/dayFriFriday 00:00 — 5,188 impressions/dayFriday 01:00 — 6,123 impressions/dayFriday 02:00 — 4,419 impressions/dayFriday 03:00 — 3,615 impressions/dayFriday 04:00 — 3,186 impressions/dayFriday 05:00 — 1,790 impressions/dayFriday 06:00 — 1,563 impressions/dayFriday 07:00 — 1,718 impressions/dayFriday 08:00 — 1,677 impressions/dayFriday 09:00 — 1,737 impressions/dayFriday 10:00 — 1,991 impressions/dayFriday 11:00 — 2,811 impressions/dayFriday 12:00 — 2,474 impressions/dayFriday 13:00 — 2,632 impressions/dayFriday 14:00 — 2,793 impressions/dayFriday 15:00 — 3,054 impressions/dayFriday 16:00 — 3,446 impressions/dayFriday 17:00 — 4,019 impressions/dayFriday 18:00 — 7,766 impressions/dayFriday 19:00 — 10,261 impressions/dayFriday 20:00 — 12,703 impressions/dayFriday 21:00 — 12,941 impressions/dayFriday 22:00 — 13,467 impressions/dayFriday 23:00 — 4,313 impressions/daySatSaturday 00:00 — 5,624 impressions/daySaturday 01:00 — 4,187 impressions/daySaturday 02:00 — 3,842 impressions/daySaturday 03:00 — 3,352 impressions/daySaturday 04:00 — 4,013 impressions/daySaturday 05:00 — 2,586 impressions/daySaturday 06:00 — 1,838 impressions/daySaturday 07:00 — 1,775 impressions/daySaturday 08:00 — 1,762 impressions/daySaturday 09:00 — 1,886 impressions/daySaturday 10:00 — 1,788 impressions/daySaturday 11:00 — 2,012 impressions/daySaturday 12:00 — 2,175 impressions/daySaturday 13:00 — 2,316 impressions/daySaturday 14:00 — 2,420 impressions/daySaturday 15:00 — 2,800 impressions/daySaturday 16:00 — 2,857 impressions/daySaturday 17:00 — 3,107 impressions/daySaturday 18:00 — 3,510 impressions/daySaturday 19:00 — 3,681 impressions/daySaturday 20:00 — 3,919 impressions/daySaturday 21:00 — 4,222 impressions/daySaturday 22:00 — 4,527 impressions/daySaturday 23:00 — 3,238 impressions/daySunSunday 00:00 — 4,368 impressions/daySunday 01:00 — 3,664 impressions/daySunday 02:00 — 4,479 impressions/daySunday 03:00 — 3,337 impressions/daySunday 04:00 — 3,099 impressions/daySunday 05:00 — 3,339 impressions/daySunday 06:00 — 1,984 impressions/daySunday 07:00 — 2,005 impressions/daySunday 08:00 — 1,833 impressions/daySunday 09:00 — 1,928 impressions/daySunday 10:00 — 2,014 impressions/daySunday 11:00 — 2,086 impressions/daySunday 12:00 — 2,132 impressions/daySunday 13:00 — 2,324 impressions/daySunday 14:00 — 2,365 impressions/daySunday 15:00 — 2,629 impressions/daySunday 16:00 — 3,100 impressions/daySunday 17:00 — 3,182 impressions/daySunday 18:00 — 3,496 impressions/daySunday 19:00 — 3,778 impressions/daySunday 20:00 — 3,775 impressions/daySunday 21:00 — 3,840 impressions/daySunday 22:00 — 3,851 impressions/daySunday 23:00 — 3,086 impressions/dayorange = midnight to 6am

04Screens and formats

Creative length is derived from the video duration on each asset. The two cuts buy materially different inventory at materially different prices.

FormatCreativesImpressions SpendCPMShare of spend
15-second3910,814,548$99,677$9.22112.7%
30-second393,913,177$57,296$14.6464.8%

05What this report does not cover

Three things in the original July report have no BigQuery source. They are omitted rather than estimated:

  • Co-viewed impressions. Google's estimate of additional people watching the same connected-TV screen. Not exposed by the transfer or the API, so the reach figures here are on a per-viewer basis rather than the co-viewed basis Google's own interface uses.
  • Reach outside a fetched window. Unique users cannot be summed across days or ranges, so reach is only shown when this report's exact period has been requested from the API. Narrow the range and the reach figures disappear rather than mislead.