Article

How to improve Meta ad ROAS without discounting

Person reviewing Meta ad ROAS and social media marketing performance on a laptop

Meta ad costs climb every Q4, and the reflex when return on ad spend slips is to put an offer in the creative. A discount code lifts click through rate and conversion rate almost immediately, the dashboard number moves, and the campaign looks rescued. Then the quarter closes and gross profit is down.

This is the trap in paid acquisition: a discount can raise reported ROAS while destroying the profit that ROAS is supposed to stand in for. Here is how to lift Meta performance with an offer that does not touch your price.

Why ROAS looks fine while margin disappears

ROAS is revenue divided by ad spend. It says nothing about what the revenue cost you to fulfil, and nothing about the discount you handed over to earn it.

Take a $100 order at a 55 percent gross margin. Cost of goods is $45, gross profit is $55. If your customer acquisition cost is $30, contribution is $25 per order.

Now add 20 percent off in the ad. The customer pays $80, cost of goods is still $45, so gross profit falls to $35. Subtract the same $30 of ad spend and contribution drops to $5. You kept the sale and lost 80 percent of the money it was worth. Meanwhile your reported ROAS may have improved, because the discount lifted conversion rate enough to pull cost per acquisition down. The number that steers the budget moved the right way while the business moved the wrong way.

Two further costs never show up in the ads dashboard. The first is anchor erosion: a shopper who first meets your brand at 20 percent off has priced you at $80, and the next full price ad reads as expensive. The second is selection. A coupon in the creative disproportionately attracts the people who were most price sensitive to begin with, which is the cohort least likely to buy again at full price.

What actually moves paid performance

Meta rewards two things: creative that stops the scroll and an offer that is worth acting on today. Most brands only have one lever for the second, so they reach for price. There are better ones.

Give the ad a reason to exist this week

Evergreen offers do not create urgency, and permanent discounts get priced in. A promotion tied to a real world moment does both. If the offer is live only while the game is on or the forecast holds, the deadline is real and the shopper knows it.

Make the reward conditional, not automatic

A gamified rebate pays the customer back in full if a named event happens, and the customer buys at full price either way. The creative gets a genuinely interesting hook, your invoice stays intact, and the expected cost is payout multiplied by the probability the trigger hits, not a flat percentage off every order. Playably carries the payout risk, so the campaign cost is known before it runs.

Sell the mechanic, not the markdown

"20 percent off" is the most heavily replicated message in any Meta feed. "You get every dollar back if it snows on Christmas" is not, and it earns organic comments and shares that lower your effective cost per click. Novelty is a media buying asset, and price cuts have none left.

Use the campaign to build a list you can sell to for free

Every enrollment is an email or phone number attached to a full price buyer. That turns a paid acquisition campaign into owned audience growth, which is the only thing that lowers blended acquisition cost over time. Our post on gamified email capture covers the mechanics of the capture step in more depth.

Retarget the enrolled, not the whole site

People who joined a promotion have told you something a pixel cannot: they liked the offer enough to give you contact details. That is a far stronger retargeting seed than a 30 day all visitors audience, and it costs nothing to build.

What it looked like for BlackBoxMyCar

BlackBoxMyCar ran a conditional rebate campaign with Playably instead of a sitewide sale. The Meta campaign supporting it returned 18.25x ROAS, and store sales rose 57 percent over the campaign window. Nothing came off the price. The lift came from an offer the feed had not seen before, plus a deadline the customer could verify independently.

The pattern repeats across categories. Buckle Me Baby Coats saw sales rise 23 percent on launch. Jones New York pulled 5x revenue per send out of dormant list segments. The Sak converted at 5x on a gamified quiz. Full price in every case. More on all of these in our case studies.

How to measure it without fooling yourself

If you are going to change the offer, change the scorecard with it. ROAS on its own will happily reward the thing that is costing you money. Track four numbers together:

  • Gross profit per order, not revenue per order. This is the number a discount attacks directly and the one ROAS hides.
  • Contribution after ad spend, calculated per campaign. Gross profit minus the acquisition cost that produced it.
  • Discount rate as a percentage of gross revenue, trended by month. If it is climbing while ROAS holds, your paid channel is buying customers with margin rather than creative.
  • Full price repeat rate at 60 and 90 days. It tells you whether the cohort you bought will ever purchase without a code.

Run the conditional offer as a proper test. Same creative budget, same audiences, one cell with the discount you would normally run and one with the rebate, and judge both on contribution rather than ROAS. If the discount genuinely wins on profit, keep it. In our experience it usually wins on the dashboard and loses on the ledger.

Where to start before Q4

Auction prices rise through October and peak around Black Friday week, so the offer you take into the quarter is decided now. Pick one moment on the calendar in the next six weeks, build one campaign around a conditional rebate, and hold everything else constant so you can read the result. The Q4 marketing calendar lays out which weeks are worth spending against, and cash back versus discount codes works through the per order arithmetic if you want the full comparison.

FAQ

Does a rebate offer hurt conversion rate compared to a discount?

Not in the campaigns we run. A conditional rebate is a larger headline reward than a typical 15 or 20 percent code, so it converts at least as well while leaving the invoice at full price. The difference shows up in gross profit per order rather than conversion rate.

How do customers actually enroll?

Through a free enrollment code applied at checkout. It is a 0 percent code, so it never reduces what the customer pays. It exists only to tag the order so the rebate can be paid out if the trigger hits.

Who pays if the event happens and everyone gets their money back?

Playably does. The payout risk sits with us, not with your P and L, which is what makes the cost of the campaign predictable before it launches.

Full price, full margin

You do not have a ROAS problem so much as an offer problem, and the usual fix for an offer problem is the one that costs the most. Keep the price, change the mechanic, and let Playably carry the risk. Book a demo and we will map a conditional rebate to a real moment on your Q4 calendar.

Parts of this post were drafted with AI assistance. Every post is reviewed and edited by a person at Playably before it goes live, and we take editorial responsibility for what it says.

Field notes, weekly

Join our newsletter.

One short note every week — a mechanic, a campaign teardown, or a stat you can use. No fluff.