Case Study · 06
Paid Social, Audited
Meta graded a $119 test campaign “exceptionally high” and diagnosed strong creative resonance, but I wasn't sure. So I analyzed every number from the raw exports and found out that the campaign did work—it drove a 9× lift in referred traffic against flat organic—but for very different reasons than what the dashboard suggested.
The Brief
A brand-new organization with no audience, no recognition, and no list. The question of scale was somewhere in the future; the immediate project was this: does our message land on people who have never heard of us?
Enter a key challenge: I had about $120 to find out. That’s a test budget, not a campaign budget. What could I discover?
The Hypothesis
Most new-church messaging leads with the institution: who we are, when we meet, what we believe. I wanted to test a message that led with the audience instead—the same conviction that anchors the brand system, pointed outward at a stranger.
Ann Arbor is already full of makers, growers, and caretakers. We’re starting a church that believes this work is holy.
The bet was this: a true claim about the reader was the best introduction to us. It ran as a static image with a headline and a “See details” button, pointing to a single-page site.
What the Platform Reported
Meta’s summary was enthusiastic: a 10.50% click-through rate it flagged as exceptionally high, $0.18 per landing page view, 3,683 people reached, and a diagnosis of strong creative resonance.
If I’d stopped there, I’d have written a very different case study.
Finding 1: The dashboard was grading one boost, not the budget
I boosted four separate posts in July, and Meta reports each one on its own. Every figure in that summary belongs to a single boost: the $59.83 website promotion.
Where $119.29 went · 2–31 July 2026
Website promotion
Image + headline + “See details” · 4,705 impressions · optimized for landing page views
Facebook post boost
Text-only status · 2,142 impressions · optimized for landing page views
Instagram post boost
Destination: Instagram profile · 1,727 impressions
Instagram post boost (earlier)
Destination: Instagram profile · 1,719 impressions
Spend rebuilt from Meta’s placement export—CPM × impressions, row by row. The four boosts reconcile to $119.29 to the cent.
Two things follow.
The grade covers half the spend. Without cross-referencing the exports, I’d still believe $119 bought a 10.5% CTR. It didn’t. That rate belongs to one boost over six days; the $119 covers four boosts over a month. The two numbers look like they belong in the same sentence, and they don’t.
A third of the money was buying something else. The two Instagram boosts pointed at an Instagram profile rather than at commongoodannarbor.org. That wasn’t the original intent, but it was working—55 new followers and 72 taps through to the site for $41.75—so I let it run. It also means some of what my analytics filed as organic Instagram traffic was paid, and I can no longer separate the two.
Meta reported all of this accurately: the boost’s panel describes the boost. The error would have been mine, in carrying a six-day campaign result into a sentence about a month of spend.
The headline CTR needs the same scrutiny. 10.50% is Meta’s CTR (all): reactions, photo expansions and profile taps counted alongside link clicks. Real link clicks were 380 of 494—an 8.1% link CTR. Still strong for cold traffic, and it’s the figure I’d put in front of a client, because it only counts people who actually went somewhere.
Finding 2: The best evidence isn’t in the ad platform at all
Meta can tell you what Meta did. It can’t tell you whether anything changed. For that you need a source outside the buy, and a week to compare against:
| Session source | Week before | Campaign week | Change |
|---|---|---|---|
| fb / paid | 37 | 338 | 9.1× |
| ig / social (organic) | 111 | 97 | 0.87× |
| direct | 61 | 54 | 0.89× |
| All sessions | 269 | 608 | 2.3× |
GA4 traffic acquisition, 14–20 July vs 21–27 July 2026.
Organic social and direct traffic was flat-to-slight-decline in the same window. That’s the control—not a perfectly clean one, since the Instagram boosts fed some traffic into the organic bucket, but the lift clearly belongs to the paid-labelled source.
Finding 3: The creative comparison
Two ads ran on Facebook Reels in overlapping six-day flights—same 25-mile radius, same 18–65 age range, same optimization goal, same placement, same week. This is the closest thing to a controlled comparison the buy produced:
| Creative | Impressions | Landing page views | Conversion | Cost per view |
|---|---|---|---|---|
| Image + headline + “See details” | 2,912 | 260 | 8.9% | $0.17 |
| Text-only status, ending “link in bio” | 319 | 7 | 2.2% | $0.86 |
Facebook Reels only, 21–27 July 2026—the window both ads were live.
Four times the conversion rate, and five times cheaper per visitor. Link CTR splits the same way: 10.1% against 2.5%.
The delivery numbers say it again from the other direction. The weaker ad had the larger budget—$16 a day against $10—and spent about $3 of it. The image ad spent essentially all of its $10, every day, and still bought impressions 25% cheaper. Meta wasn’t rationing the money; the auction just couldn’t find inventory worth buying for that creative at that price.
It's honestly no surprise: the first boost was Instagram copy cross-posted to Facebook: no image, no headline, and a closing line telling Facebook users to click a “link in bio” that doesn’t exist there—instructions that actively competed with the ad’s own Learn More button.
I wrote it for Instagram and let the boost carry it to Facebook unchanged. Finding that out cost $17.71, which is what a test budget is for.
One difference survives: audience expansion was on for the image ad and off for the text-only one. Strong evidence, then, rather than proof.
Two Smaller Findings
Reels did the work—the opposite of what I expected
I assumed a static image ad would underperform in vertical video feeds. Placement data said otherwise:
| Placement | Impressions | Landing page views | Conversion | Cost per view |
|---|---|---|---|---|
| Facebook Reels | 2,912 | 260 | 8.9% | $0.17 |
| Instagram Reels | 625 | 52 | 8.3% | $0.16 |
| Facebook Feed | 374 | 22 | 5.9% | $0.20 |
| Reels overlay | 699 | 5 | 0.7% | $0.46 |
The website campaign’s four significant placements; “Reels overlay” is Meta’s Ads on Facebook Reels unit. A further 95 impressions across Stories, Search and in-stream inventory produced one more landing page view, for 340 in total. Meta Ads Manager, 21–27 July 2026.
Reels delivered 92% of results. Feed—the placement a static image was built for—converted at two-thirds the rate.
The 16-second average describes nobody
Paid sessions averaged 16.4 seconds. Pulled apart at the session level, a sample of 29 looks like this:
Seven sessions registered any engagement at all; those seven averaged 77 seconds. The other twenty-two bounced on arrival. No one had a 16-second visit.
What This Test Can and Can’t Prove
Established
It reached strangers
323 of 340 paid sessions were first-time visits—95% had never been to the site
The clicks were real
89% of link clicks became landing page views, not accidental taps
It moved the total
9.1× lift in referred sessions while organic and direct held flat
Placement mattered
Reels beat Feed on identical creative, by 1.5× on conversion
What it can’t fully establish is causation on the creative. Narrowing the comparison to a single placement controls for placement mix, but audience expansion still differs between the two ads. Creative is the likely driver—a fourfold conversion gap is a lot to hang on one targeting toggle—but likely is not proven, and at this budget there was never room for clean cells.
Nor can it attribute a single signup. Three paid visitors clicked a call to action—two on email signup, one on giving. The form completes on a third-party platform that analytics can’t follow. Five signups were recorded that week across all sources. I cannot tell you whether this spend produced any of them, and I’d rather say that than build an attribution story out of three clicks.
What I’d Change
- Tag placement into the URL. Meta can tell me which placements produced clicks. Without parameters, analytics can’t tell me which produced good clicks. That data no longer exists.
- Add scroll milestones at 25/50/75%. GA4’s default fires once, at 90%. All I can say is “a third reached the bottom.” What I need is “people left here.”
- Put a source field on the signup form. One question answers what three tools can only estimate.
- Rewrite per platform, not per post. Boosting a post is not the same as writing an ad.
What I’d Keep
The broad targeting: 18–65, 25-mile radius, expansion on, no interest layers. It looks like a default rather than a strategy, but on a new pixel with no conversion history and a sub-$150 budget, narrow audiences starve delivery and drive CPMs up. The wide setup is a reason the cold-reach numbers are as good as they are.
The platform credited creative resonance. The data credited a headline, a button, and Reels inventory—and couldn’t rule out three other explanations.
What This Demonstrates
Every other case study in this portfolio is work I made. This one is work I checked—including my own. It’s the piece where the deliverable is measurement judgment: knowing which numbers to trust, which to discard, which are describing a different budget than the one in the headline, and which questions the instrumentation was never built to answer.
The ad worked. It reached strangers, at a cost per visitor most organizations would take, and it more than doubled a new site’s traffic in a week. The measurement story was less flattering, and it’s the more useful of the two. Only one of them shows up in the dashboard.
A larger budget just benefits more from these same audit methods.