Transcript
Welcome to Hard Questions, a SpendSignal podcast. I'm Sachin Uppal. Every episode, we take one question that no ad dashboard can answer, and work through it end to end. Today's question: Which of my 'winning' creatives win on CPA but lose money on the order they bring in — and what exactly should the next brief say? My guest is Riya Mehta, Head of Performance & Creative Strategy at a D2C apparel brand.
Riya, how does a creative brief get written at your company?
Every Thursday we pull the top ads by CPA from the last two weeks into Motion. We look at them together — the hooks, the first three seconds, the format. Then someone says, "More like ad 14," and the creators get a Notion brief that is basically ad 14 with a different face.
And does it work?
For a week. Then it doesn't. And there's a deeper problem I only noticed recently.
Go on.
Our cheapest-CPA ads are almost all "40% off" ads. Of course they are — a discount is the easiest thing in the world to click. But when finance looked at the cohort, those orders had lower basket sizes, more returns, and they basically never bought again without a code. So our "best" creatives were buying our worst customers.
Why can't you see that in your tools?
Ads Manager optimises for purchases or purchase value. It doesn't know a 40%-off order is worth less to us than a full-price one, beyond the lower value. It definitely doesn't know my margin, returns or fulfilment costs. Motion shows me what's winning visually and I love it for that, but tagging is manual — someone has to tag "offer," "hook type," "creator" on every ad, and when the team is busy, tags rot. And even with tags, comparing averages per tag is misleading.
Misleading how?
Say UGC ads have a better average CPA. But maybe that's because UGC ads happen to run more discount offers. Is it UGC that works, or the discount? A tag-level average can't separate those. So the brief ends up chasing the wrong variable.
That's the right question. So here's SpendSignal end to end. You connect Meta and Google Ads. For every ad it pulls spend, purchases and revenue — and now, the ad's own copy and creative type: the primary text, headlines, whether it's a video, a static, a carousel.
No manual tagging?
That's what we just shipped. It reads the tags from the ad itself. The hook comes from the first line — is it a question, a pain point, a testimonial, urgency, an offer-led opener, social proof, a launch, or a benefit statement. The offer comes from the copy — percent off, bundle or buy-one-get-one, free shipping, promo code, free gift, price shown, or no offer. Format comes from the creative type. Copy length is bucketed. And if your team does tag an ad — say, the creator name — your tag always wins.
OK, so I have tags for free. Then?
Two analyses. The first is order quality. For each creative, it checks the revenue per purchase against what your economics need. You've told it your margins once, so it knows the order value an ad needs to bring in at your target CPA to actually be profitable. Every creative gets a label: on target, or below target.
So the 40%-off ads would show up as...
Cheap CPA, below-target order quality. A winner on Ads Manager, a loser on your P&L. In this example, percent-off ads are 18% cheaper on CPA, but below target on revenue per order. Bundle offers are 31% cheaper and on target. That's the creative to scale.
And the second?
The second answers your "UGC or the discount?" question. It's a creative decomposition: a model that estimates the effect of each element — hook, format, creator, offer, copy length — on CPA while holding the others constant. So if UGC only looked good because it ran discounts, the model attributes that to the offer, not to UGC.
What does the output look like?
A panel per element showing "percent change in CPA versus baseline." For example: problem-led hooks 22% cheaper than founder-story openers. Medium-length copy, 20 to 50 words, beats short copy by about 45%. Then a "Next brief" card at the bottom: the cheapest combination the model found. Problem hook, static image, micro creator, bundle offer, 20–50 words. Predicted CPA ₹35 versus ₹72 today, with the model's fit shown so you know how much to trust it.
That is a brief. Not "more like ad 14."
And it tells creators which variable to keep and which to test next. The brief also says: keep testing one variable at a time.
Let me push. Isn't this just correlation? Maybe problem hooks ran in the cheaper campaigns.
It's still observational, yes — it's not a randomised test. Two things help. It controls for the other elements, so it's much less fooled than tag averages. And it shows how well the elements explain CPA. If the fit is weak, treat it as a hypothesis for your next test round, not a law. The Next brief is literally that: the next thing to test.
And for low-spend ads?
The model is deliberately cautious with sparse tags — elements seen on one or two ads get shrunk toward zero instead of being crowned the winner. And it needs a minimum number of ads with purchases before it shows anything at all.
What can't the auto-tagging read?
Visuals. It reads copy and creative type, not what's in the video — not the first three seconds of footage or who's on screen. That's why the creator tag stays manual and why your tag always overrides. And order quality is measured on the order value the ad drove, not on repeat purchase over a year — LTV isn't in this view.
So Thursday becomes...
"Our percent-off ads are cheap clicks and below-target orders, so we stop scaling them. Bundles win on both. The next brief: problem hook, bundle offer, medium copy, micro creator, static. And we test UGC versus static with everything else fixed, because the model says format matters less than we thought."
My creators are going to love getting a brief that isn't "make it like 14 but better."
That's Hard Questions. Thanks, Riya. If you want to ask this of your own data, connect your accounts at spendsignal.co. See you next episode.