The Ecomm Analyst

Growing stores, one honest take at a time.

How do you tell which ads are actually bringing in sales?

You tell which ads are bringing in sales by matching individual orders to individual ads with a measurement source that is not the ad platform, then looking at new-customer orders separately from total orders, then confirming the biggest calls with a holdout test. Ads Manager can tell you which ads got clicked and which ones it believes contributed. Only your store knows which orders actually happened, so the work is connecting the two at the ad level.

Why can’t I just use the ROAS column in Ads Manager?

Because every platform grades its own work, and each one uses a different rubric. Meta’s default since March 2026 credits a purchase within seven days of a link click, one day of an engagement like a save or a comment, or one day of a plain view. Google, TikTok, and Snapchat each use their own windows. If a customer saw a Meta ad, clicked a Google Shopping ad, and bought, both platforms will usually claim the whole order. Add up the revenue each dashboard reports and you will often find more than your store took in.

That does not make any single platform useless for comparing ads inside its own account. It does mean the numbers cannot be compared across platforms, and they cannot be summed.

What do you need to attribute sales to individual ads?

Four pieces, and most stores are missing at least one. Every ad needs tracking parameters on its landing URL that identify the specific ad rather than just the campaign, which in practice means a unique utm_content value or the platform’s dynamic ad ID. Your store needs a first-party pixel that records those parameters when the visitor lands and carries them through to checkout. Your attribution tool needs ad spend pulled at the ad level from each platform. And the tool needs to join orders to ad IDs, so the output is orders and revenue per ad rather than clicks per ad.

The first piece is where most setups break. Clean UTMs at the campaign level with nothing per ad will tell you which campaign worked and nothing about which creative did.

Which number should you look at for each ad?

New-customer orders first. Total orders flatter ads that mostly reach people who were going to buy anyway, especially retargeting and anything shown to your existing list. An ad that produces forty orders, thirty of them from returning customers, is doing a different job from an ad that produces twenty orders from people who had never bought before. Cost per new customer by ad is the number I make budget decisions on.

Then compare the same ad under first-click and last-click attribution. An ad that shows up heavily as a first touch but rarely as the last one is opening journeys that other channels close. Cutting it because its last-click ROAS looks weak is one of the most common mistakes I see, and I went through a version of it in when your best ad isn’t your best ad.

ThoughtMetric, which sponsors this blog, breaks orders, revenue, new-customer orders, and ROAS down to the individual ad across every connected platform, and lets you switch attribution models on the same view. Whatever tool you use, make sure it reports at the ad level and splits new from returning customers. Campaign-level attribution answers a budget question, not a creative one.

How do you know the attribution is right?

You check it against something that does not depend on tracking. The cheapest version is a holdout. Pause a high-spend ad set for a week, or turn it off in a set of regions, and watch whether total new-customer orders drop by roughly what the attribution said that ad set was producing. If they barely move, the ad was getting credit for sales that would have happened anyway. Post-purchase surveys are the other check, because they catch the customer who saw the ad, never clicked, and bought later.

Holdouts are noisy at small spend, so reserve them for the decisions that matter. Testing every ad is not practical. Testing the ad set that takes a third of your budget before you double it is cheap insurance.

Common questions

How many orders does an ad need before I trust its number? More than most people wait for. I do not make a call on an individual ad until it has a few dozen attributed orders, and for anything with a long consideration cycle I wait longer. Two days of data on a new creative is a mood, not a result.

Should I kill ads with low ROAS? Not on ROAS alone. Check new-customer share and first-touch contribution before you cut anything, because the ads with the weakest last-click numbers are often the ones introducing new buyers.

Does the attribution model change which ads win? Yes, sometimes dramatically. That is the reason to look at more than one. The ads that rank well under every model are the ones you can scale with confidence.

Leave a comment

Navigation

About

Six years in e-commerce. Three Shopify stores across different niches, one scaled past seven figures. I’ve tested hundreds of ad creatives, obsessed over email flows, and learned more from my failures than my wins.

Now I focus on conversion optimization, retention marketing, and the analytics behind it all. This blog is where I share what actually works, backed by real numbers. No fluff, no guru energy.