How to measure a campaign in social video after it has ended
.png)
The request lands in your inbox on a Tuesday. "Can you pull together how the September launch did on social?" Nobody set up listening before launch, and the creator posts are scattered across platforms. The method below is the one that gives an honest readout from that starting point.
Short version. A retrospective pull can collect public posts that are still live, provided your tool's history and vendor coverage reach that far back. It can describe what happened during the window and what changed around it. It cannot establish that the campaign caused the change on its own, and it cannot recover views that were earned at the time but are now overwritten by cumulative totals.
What a retrospective pull can and cannot do
A retrospective pull can.
- Collect public posts that are still live at the time of collection.
- Count posts and current cumulative views, broken out by window.
- Surface narratives and complaints that recurred in each window.
A retrospective pull cannot.
- Recover posts that were deleted or set private before collection.
- Guarantee complete coverage of posts the vendor did not ingest at the time (dependent on vendor history, platform API access and plan-level collection scope).
- Reconstruct the view count the post had at the time; cumulative totals today absorb everything since.
- Prove, from the data alone, that the campaign caused any change observed during the window. Observed changes are associations, not attributions.
For why individual posts travel further than others, see why some videos perform.
What to decide before you pull any data
Decide the question, the windows and the comparison before you open a tool. Write down what the campaign was meant to change, the exact live dates, a baseline period before launch and a tail after it, and the two or three competitors or past campaigns you will compare against.
Write the one question the readout must answer
Awareness (did more people hear about the brand or product?), conversation about a product benefit (did people repeat the thing we wanted them to repeat?), or sentiment shift (did reaction change in the direction we hoped?). One question. Everything else is appendix.
Define three windows: baseline, live, tail
Baseline is what the conversation looked like before the campaign ran. Live is the campaign itself. Tail is the period after the campaign stopped running paid support. All three windows should be comparable in length wherever possible.
List campaign assets
Hashtags, product names, creator handles, spoken taglines. For why a late read still beats no read, see the cost of lagging in a video-first world.
Setting the date range for a campaign that is over
Pick a custom start and end date that wraps the baseline, live and tail windows, then slice inside it.
In dig, custom date ranges sit beside the 1, 3, 6, 9 and 12-month presets. The minimum range is one month and the earliest start is July 2024, so a three-week campaign sits inside a longer range. Depending on the source, the pipeline either collects only inside the range or collects more and then filters to it. State the range and the windows in the readout. If the campaign ran before the vendor's history reaches, say so and do not promise a read.
Four buckets, assigned exclusively in order
Split every count into four buckets, assigned in the order below so each post lands in exactly one.
1. Own accounts. Posts from the brand's own handles. Everything else moves to step 2.
2. Known paid. Of what remains, posts commissioned under the campaign brief (specific pieces of content named in the contract or brief, from the creators you commissioned). A creator on the contract list who publishes an unrelated, uncompensated post does not land here on that post. Everything else moves to step 3.
3. Disclosed commercial. Of what remains, posts carrying a platform disclosure such as TikTok's "Paid partnership" or "Commercial content" label, or an equivalent on another network. Backed by FTC guidance that influencers are responsible for disclosure. A commissioned post carrying a disclosure label counts as known paid (step 2); other disclosed posts from a commissioned creator are classified according to the evidence for that specific post.
4. Unknown commercial status. Everything that did not land in a bucket above.
Each bucket tells you a different thing. Known paid shows what you bought. Disclosed commercial captures paid work by creators you did not commission (or caught by platform rules). Unknown status is honest about what the content cannot determine. Own accounts shows your own activity.
For context: in dig's Super Bowl 2026 report, UGC (defined as "not from the brand's own account") made up 86.4% of posts in a six-hour window around the game, brand content 13.6%. The report's UGC definition is not a payment-status claim; it is the share not from brand-owned accounts.
What to read in the videos
Read what people said out loud and wrote in post descriptions. Which product benefit they repeated. What they joked about. What they complained about. Whether the campaign line was used or remixed.
Post counts show posting activity. Current cumulative views give a different, qualified exposure measure (what the posts have reached by the time of your collection, not during the campaign). Narratives show what people took away from what they posted.
Observed changes, not attributed effects
A theme whose share rose during the live window is an observed association. The phrasing in the readout matters: "the 'dry after a full commute' theme grew during the live window relative to baseline" is a defensible claim from the data. "The campaign made 'dry after a full commute' spread" is an attribution the pull alone cannot support. News, seasonality, a competitor's post, an unrelated creator or a change in collection all compete as explanations.
To move from association to attribution needs more than the pull: a baseline that controls for seasonality, a comparison campaign or category, a hand-reviewed sample that rules out alternative drivers, and (sometimes) survey data.
Worked example: a three-week launch, measured six weeks later
Illustrative only, not a dig benchmark.
Fictional brand Northfold Outdoor launched a rain jacket with eight paid creators from 2 September to 22 September 2026. On 3 November the team is asked for a readout. They create a project from 1 August to 31 October 2026 and define a baseline (12 August to 1 September), live (2 September to 22 September) and tail (23 September to 13 October) window, three weeks each.
Counting rule for known paid: the eight commissioned creators posted six pieces of content each across the three weeks, giving 48 original known-paid posts. Reposts (duets, stitches, re-uploads) by anyone else are not automatically paid; they fall into disclosed commercial if they carry a platform disclosure, otherwise unknown status. Results.
Readings.
- Post volume rose roughly 3.3× during live (4,000 vs 1,200 baseline) and settled 50% above baseline in the tail (1,800 vs 1,200). Both are observed changes in the window; whether the campaign caused them is a separate question.
- Known paid was 1.2% of live-window posts (48 of 4,000). The large unknown-status share (3,622 of 4,000, 90.6%) is the honest finding: almost all of the live-window posting activity has no platform disclosure and no contract record attached to it.
- Spoken reviews converged on one claim ("dry after a full commute") and one complaint (sleeve length). Both themes were present at low volume in baseline and grew during live; the complaint theme kept growing into tail. The complaint goes to the product team as reviewed consumer feedback, labelled as an observed association during the campaign window rather than attributed campaign impact.
Three contrasting posts (fictional): a paid creator demo, an unknown-status commuter review that repeats the benefit, and an unknown-status complaint about sleeves.
What a finished campaign readout looks like
A finished readout answers the original question on one page: the three windows with volumes, the four commercial-status buckets, the top narratives with example posts, the observed sentiment change, and what to do next. Build it once as a dashboard so the next campaign uses the same structure from day one.
In dig's app store, the Campaign Analysis app reads a campaigns category in your project, even when the category is not named exactly "campaigns"; Dashboard Builder holds the finished view. See the dig app store.
Setting up the next campaign's project before launch lets the baseline collect itself, which is the single biggest time-saver on the next readout.
Awareness as a question this data informs but does not measure
If the original question was about awareness, this analysis contributes evidence (volume, narratives, which product benefits recurred) but does not measure awareness directly. Awareness is a population-level outcome; posting activity is one input to it, not a measurement of it. For a defensible awareness read, pair the campaign readout with a survey or an outcome measure (brand-tracker, aided/unaided recall, branded search) and report the two together.
Pro tip
Observed during the campaign is not caused by the campaign. State the association; leave the attribution for a method that can support it.
Key takeaways
- A retrospective pull describes what happened in the windows; it does not establish causation.
- Posts deleted before collection are lost; cumulative views today do not reconstruct views during the campaign.
- Split posts into four commercial-status buckets, not two. UGC and unpaid are different concepts.
- State the counting rule for creator posts and reposts; uncompensated reposts belong in unknown status.
- Report post counts and current cumulative views as separate, qualified measures of posting activity and exposure.
- Themes that grew during live are observed associations; the attribution to the campaign needs more evidence than the pull alone provides.
Frequently asked questions
Can I analyze a social media campaign that has already ended?
Yes, for public posts still live at collection time, subject to your vendor's history and the platform API's reach-back. Set a date range that covers before, during and after, and compare the windows. State deletions and coverage limits in the readout.
How long after a campaign should I measure it?
Set the tail length to the campaign's objective and the expected response lag. A product-launch campaign with reviews that take weeks to arrive needs a longer tail than an awareness burst that peaks fast. The worked example above used a three-week tail for a three-week campaign because reviews were already arriving in week one; adjust up or down based on where reaction actually lands for your category.
What is the difference between paid and organic campaign posts?
The paid/organic binary is too narrow. Split into four buckets: known paid (from your contract list), disclosed commercial (platform labels), unknown commercial status, and own accounts. Each tells a different thing, and absence of disclosure is not evidence a post was unpaid.


.png)
%20(1).png)