Promotion Analytics: How to Read Delivery, Survival Rate, and CPM Before You Scale
A field guide to the three promotion analytics metrics that determine whether a campaign is working — before you commit more budget.
Check delivery rate at the campaign midpoint, not after the window closes.
Normalize every CPM figure against survival rate before comparing campaigns or packages.
Build a four-to-six campaign baseline for survival rate before adjusting targeting or creative.
Most Campaign Reports Bury the Metrics That Actually Matter
The default reporting layer on most promotion dashboards surfaces vanity numbers first: gross impressions, total reach, a percentage bar that hits 100% and turns green. None of that tells you whether the views you bought survived long enough to influence anything. The metrics that matter — delivery rate, survival rate, and cost per thousand — are usually two or three clicks deeper, if they appear at all.
Promotion analytics is not a post-campaign exercise. It is a live operating input. If you are waiting until a campaign closes to read the numbers, you are already too late to correct a pacing problem or a drop in survival. The operators who scale efficiently check these three figures daily, sometimes more often when a new content type or audience segment is being tested.
This guide covers what each metric means in practice, how to read it inside a promotion dashboard, and what to do when the numbers move in the wrong direction.
Delivery Rate Tells You Whether Your Budget Is Actually Moving
Delivery rate is the ratio of views or impressions distributed against the volume contracted for a given time window. If you ordered a 50,000-view TikTok package over 72 hours and the dashboard shows 31,000 delivered at the 48-hour mark, your delivery rate is running at roughly 86% of pace — acceptable. If it shows 14,000, something is throttling the campaign and you need to know why before the window closes.
Underpacing is almost always a supply issue, a targeting mismatch, or a content eligibility flag. Overpacing is less common but more dangerous: views arriving in a spike pattern can distort engagement ratios and trigger platform-side anomaly detection. The promotion dashboard on /app/dashboard lets you set delivery windows and see hourly distribution so you can catch both problems inside the first six hours of a campaign.
The baseline threshold worth enforcing: any campaign running below 80% of expected pace at the midpoint of its window should be escalated. Do not wait for the final report.
Survival Rate Is the Leading Indicator of Audience Quality
Survival rate measures what percentage of delivered views persist past a defined checkpoint — typically 30 seconds on video, or a scroll depth threshold on editorial. A 50,000-view campaign with a 40% survival rate delivered 20,000 durable impressions. A 30,000-view campaign with an 80% survival rate delivered 24,000. The smaller buy outperformed on the metric that predicts downstream behavior.
Low survival rates almost always point to one of three causes: the audience segment is mismatched to the content, the first five seconds of the creative are losing attention before the message lands, or the delivery method is routing views to low-intent placements. When survival drops below 35% on a campaign that previously ran at 60%, treat it as a targeting signal, not a content problem — the content did not change, the audience did.
Survival rate data is most useful when you track it across campaigns of the same content type. A baseline built over four to six campaigns lets you set a floor. Anything below that floor triggers a format or segment review before the next order.
Cost per Thousand Views Is Only Useful When Normalized Against Survival
Raw CPM is a purchasing metric, not a performance metric. A $4.00 CPM sounds better than a $7.00 CPM until you account for survival: if the $4.00 package delivers at 38% survival and the $7.00 package delivers at 74%, the effective cost per durable thousand impressions flips. The $4.00 package costs roughly $10.50 per surviving thousand. The $7.00 package costs roughly $9.46. You paid more per view and less per result.
The correct formula is simple: divide the total campaign spend by the number of views that passed the survival threshold, then multiply by 1,000. Do this calculation for every completed campaign and log it alongside the raw CPM. Over time, this normalized CPM becomes the number you use to compare across content types, platforms, and package tiers. Use the scaler at /app/scaler to model how volume changes interact with both figures before you commit budget.
Agencies managing multiple clients should normalize CPM by vertical as well. A B2B software campaign will carry a structurally higher survival-adjusted CPM than a consumer entertainment campaign because the audience pool is smaller and the targeting precision costs more. Comparing across verticals without accounting for that difference produces misleading benchmarks.
Building a Reporting Cadence That Operators Will Actually Use
A promotion analytics report that no one reads is overhead, not infrastructure. The reporting cadence that works in practice for most B2B and agency teams is a 24-hour pulse and a 7-day rollup. The 24-hour pulse is a single-page summary: delivery rate against target, current survival rate, and CPM normalized for survival. If all three are within range, no action needed. If one is outside threshold, note the flag and the response taken.
The 7-day rollup adds campaign-over-campaign trending for each metric. This is where you catch drift — a survival rate that was 65% three weeks ago and is now 52% without an obvious creative change is a targeting decay problem. Audience segments do not stay static. What reached high-intent users in one period starts reaching adjacent, lower-intent users as the segment saturates.
Client-facing reporting should strip out the operational detail and surface only what answers the question the client is actually asking: are we reaching the right people, are they paying attention, and what is it costing per meaningful impression. Three numbers, one table, no decoration.
When the Numbers Diverge: Diagnosing Mixed-Signal Campaigns
A mixed-signal campaign is one where delivery is on pace but survival is degrading, or where survival looks strong but CPM is climbing without a corresponding improvement in downstream metrics. Both patterns are more common than clean failures and harder to diagnose because the surface-level report looks acceptable.
High delivery with low survival typically means the distribution is running efficiently but routing to low-attention placements — the inventory is there, the audience quality is not. The fix is a placement audit, not a volume adjustment. Reduce the targeting radius before scaling spend through /app/scaler, even if the raw volume numbers suggest there is room to increase.
Strong survival with rising CPM on a static audience is an inventory scarcity signal. You have found a segment that responds well, and you are now competing with yourself or other buyers for the same pool. The sustainable path is audience expansion testing: identify an adjacent segment, run a parallel campaign at lower volume, compare survival rates, and absorb the new segment only if it clears the threshold. Do not scale a single segment past the point where CPM inflation erodes the efficiency the survival rate earned.
Promotion takeaway
The practical advantage is operational clarity: one place to submit targets, select volume, monitor delivery, and export client-safe reporting.
Configure VolumeFAQ
What is a good survival rate for a paid promotion campaign?
There is no universal benchmark because survival rate varies significantly by platform, content format, and audience segment. For short-form video, 50-65% is a reasonable working floor for a B2B audience. For consumer content on high-volume placements, 35-45% is more typical. The operationally useful target is a floor set from your own historical campaign data — four to six campaigns of the same type — rather than an industry average.
How do I calculate cost per thousand for a promotion campaign?
Raw CPM is total spend divided by total views, multiplied by 1,000. Survival-adjusted CPM — the more useful figure — is total spend divided by views that passed your survival threshold, multiplied by 1,000. For example: $500 spent, 50,000 views delivered, 60% survival rate equals 30,000 surviving views. Survival-adjusted CPM is $500 / 30,000 x 1,000 = $16.67.
What causes low delivery rate on a promotion campaign?
The three most common causes are supply constraints in the targeted placement inventory, content eligibility flags that restrict distribution, and overly narrow audience targeting that limits the available pool. If delivery falls below 80% of expected pace at the campaign midpoint, check targeting breadth first, then review any content flags in the dashboard. Expanding a single targeting dimension — geography or age range — is usually enough to restore pace without materially changing audience quality.
How often should I pull promotion analytics during an active campaign?
For campaigns running 48 hours or less, check delivery rate and survival rate at the 25% and 50% marks of the time window. For campaigns running 7 days or longer, a daily pulse on delivery rate and a 48-hour rolling survival rate check is sufficient. Do not pull reports more frequently than every 6 hours — shorter intervals introduce noise from delivery batching and produce false-positive anomalies.
Can promotion analytics data be used in client reports?
Yes, but filter to the three figures clients can act on: delivery completion rate, survival rate as a proxy for audience quality, and survival-adjusted CPM. Strip out platform-level operational detail. Frame survival rate as 'durable impressions' if the client is not familiar with the term. One table with campaign-over-campaign comparison is more useful to most clients than a multi-page analytics export.