How to Audit Your Ads Agency's Report: 10 Checks
Ten checks a Shopify founder can run in an hour to test an ads agency's report: spend, account ownership, revenue, attribution, new customers and creative.
Quick answer: To audit an ads agency’s report, test it against records the agency does not control: the ad platform’s billing, your Shopify orders and sales, and the settings and change logs inside the ad accounts. Ten checks cover spend, ownership, claimed revenue, tracking, attribution, new versus returning customers, creative, landing pages, change history and consistency. Gaps between a platform and Shopify are normal, because each platform credits sales by its own rules. The findings that matter are a gap nobody can explain, or an account you cannot open.
An ads report is written by the people being judged on it. That is not an accusation. It is why a second set of numbers matters, and you already own one: Shopify records every order, the platforms record what they billed you, and both log who changed what.
This guide is for a founder who pays an agency or freelancer to run Meta or Google ads, is not a media buyer, and wants to know whether the monthly report holds up. It takes about an hour. It will not tell you whether the ads are good. It tells you whether the report rests on numbers you can trace.
Prism3 does not run ads or email, so this is not a pitch to replace your agency. We do care whether the numbers behind a report can be trusted, because every budget decision sits on them.
What you need before you start
- Your own logins to Meta Ads Manager and Business Suite, Google Ads, Google Analytics 4 (GA4) and Shopify admin. If you cannot log in to your own ad accounts, start at Check 2.
- One closed calendar month and the agency’s report for it.
- Shopify figures for the same dates: orders, net sales and the New vs returning customers report.
- The same dates and time zone in every tool. Meta’s page on reporting differences lists attribution window, time zone and conversion date as the first things to match.
Allow about six minutes a check. Menus change, so if a label differs, search the platform’s help centre for the page title. I read the help pages cited here on 31 October 2026.
One worked example used throughout
These numbers are illustrative, made up for this guide, in Australian dollars. They are not from any client.
| Source | Spend | Purchases claimed | Revenue claimed |
|---|---|---|---|
| Meta Ads | 10,000 | 520 | 40,000 |
| Google Ads | 5,000 | 230 | 17,500 |
| Both platforms | 15,000 | 750 | 57,500 |
| Shopify, all channels | n/a | 800 orders | 60,000 net sales |
Shopify also shows that 500 of the 800 orders came from first-time customers and 300 from returning customers.
Part 1: Money and access (checks 1 to 3)
Check 1: Does the spend match what you were charged?
Start with the one number that is not a matter of interpretation. In Meta Ads Manager’s Billing section, open Payment activity, choose Transactions and set the report’s dates. Each transaction lists its ID, date, amount, payment method and status, and you can download receipts. Add up the charges and set them against the report. Do the same with Google Ads billing.
Do not expect a match to the cent. Charges do not always land on the same days as spend, so use a full month (my rule of thumb, not Meta’s). Shopify’s marketing performance page adds that ad spend from marketing apps can take up to 24 hours to sync, so recent days can look low in Shopify.
Then ask who pays. If the agency re-bills you, the report should show platform spend and the agency’s fee as separate lines. A cost per customer that leaves the fee out is lower than what you paid. What counts as CAC on a Shopify store explains why the definition matters.
Red flag: spend that does not appear in billing, or a fee bundled in without being shown.
Check 2: Do you own the accounts?
Meta. Meta’s help page on business portfolios says a portfolio can hold a Page, an Instagram profile, an ad account, an app and a Meta pixel, and that business assets can only belong to one portfolio. Its partner-access page says that with full control of your portfolio you can share assets such as ad accounts with an agency. A partner with full control can manage everything but cannot share the asset onward; only the owner can. In Business Suite settings, check that your portfolio exists, that you have full control, that your ad account and pixel sit under it, and that the agency appears under Partners.
Google Ads. Google’s page on manager accounts says a manager account can be given ownership of a client account, and that users with administrative access to a client account can end the link at any time. So ask: am I an admin, and which managers are linked?
GA4 and Shopify. Open both with your own login and confirm you can see the settings, not only the reports.
Ownership matters because, on Meta, only the owner can share an asset onward, and on Google any admin can end a manager link. What happens to the accounts, pixel and creative files if you leave is a contract question. This is not legal advice, so ask the agency in writing and check your agreement.
Red flag: your ad account sits in the agency’s portfolio and you have partial access, you are read-only on your own Google Ads account, or the agency will not add you.
Check 3: Do the platforms together claim more than the store sold?
This is the most useful test in the guide. Shopify’s marketing performance page says each platform credits sales by its own rules, which in practice means one order can be claimed by more than one platform.
- Add up the revenue and purchases each platform claims.
- Compare the sum with Shopify for the same dates. Shopify defines net sales as gross sales minus discounts and sales reversals, and total sales as what customers spent including taxes, shipping and fees. Ask which one the agency compares against.
- Work out what share of the store’s total the platforms claim.
In the example, the platforms claim 750 of 800 orders (about 94%) and A$57,500 of A$60,000 net sales (about 96%). That leaves almost no room for email, search, direct visits or returning customers who would have ordered anyway. It is more likely the platforms are claiming some of the same orders, or orders that would have happened anyway.
My rule of thumb: claimed orders above 100% of Shopify’s total are an error to explain, and claims above about 90% in a store with repeat customers deserve a question. Neither proves bad faith.
Ask for a Shopify-side figure beside the platform figure. Shopify net sales divided by total ad spend (MER) is 60,000 ÷ 15,000 = 4.0 here, against the platforms’ combined 57,500 ÷ 15,000 = about 3.8. The first cannot be double counted. ROAS, MER and blended CAC explains when to use each.
Red flag: platform claims above Shopify’s total with no explanation, or a report with no Shopify figure at all.
Part 2: Can the tracking be trusted? (checks 4 and 5)
Check 4: Is each purchase counted once?
Overlap between platforms and credit for ads people saw but did not click can inflate claimed orders for ordinary reasons. The problem case is one purchase counted twice.
Meta. Meta says Ads Manager shows attributed events, while Events Manager shows most events received. A rough test, again my rule of thumb: a week of purchase events in Events Manager should sit near Shopify’s orders for that week. Far above suggests double firing; far below suggests lost tracking, and Meta notes ad blockers can stop the pixel firing. If purchases come from both the browser pixel and the Conversions API, Meta’s developer documentation says events are deduplicated only when the event ID and event name match, within 48 hours of the first event. See our Conversions API setup guide.
Google Ads. Google says a transaction ID lets it treat a repeat of the same order as a duplicate, and calls it the recommended option for purchases. It describes the Every count setting as suited to sales. A purchase tag without transaction IDs can count the same order twice, for example when someone reloads the confirmation page. Also check the columns: Google says Conversions counts primary actions only, while All conversions adds secondary actions and view-through conversions. Ask which column the report uses and which actions are primary. If anything other than purchases is primary, the headline counts more than sales.
Then check the conversion status in Google Ads. As at 31 October 2026, Google’s troubleshooter describes Misconfigured as recording having stopped and Needs attention as issues while still recording. Labels vary by page, so look up whatever your account shows.
Red flag: purchase events far from real orders, an error status nobody has mentioned, or a non-purchase action set as primary.
Check 5: Which attribution settings produced the headline?
A report can be accurate and still flattering, because attribution decides how much credit a platform takes.
| Tool | How it credits a sale | Ask the agency |
|---|---|---|
| Meta | Model and settings are chosen per ad set. Under standard attribution, click-through counts events within 1 or 7 days of a link click; view-through, within 1 day of an impression | The model and setting on each ad set, plus the click-only figure |
| Google Ads | Data-driven is the default for most conversion actions; last click is still supported | The model in use |
| Shopify | Marketing reports default to last non-direct click | Shown beside the platforms |
Meta warns that results cannot be compared across ad sets with different attribution models, and points to a compare attribution settings feature. Settings change, so confirm them in the account.
Ask for a screenshot of each active ad set’s setting, and for the headline return with view-through left out beside the number the report uses. View-through is not dishonest, but it credits more sales, and the report should say whether it is included. For why platform and store numbers drift apart, see why attribution is broken on Shopify.
Red flag: the most generous window leading without saying so, a setting changed without a note, or ad sets on different models compared as equals.
Part 3: Customers, creative and landing pages (checks 6 to 8)
Check 6: How many purchases are new customers?
A purchase from a returning customer and one from a first-time customer are not the same result. Shopify’s New vs returning customers report shows both for a period, and defines a first-time customer as someone placing their first order with your store. Shopify notes the report uses each customer’s entire order history, so “first-time” means first ever, not first this month.
Ask what share of spend goes to people who have already bought. Meta’s developer documentation for Advantage+ campaigns describes separate ad sets for existing and new customers.
In the example, Meta claims 520 purchases, but Shopify shows only 500 first-time customers from all channels combined, so not all of Meta’s purchases can be new customers. Now the cost arithmetic:
- Meta’s cost per claimed purchase: 10,000 ÷ 520 = about A$19.
- All ad spend divided by Shopify’s first-time customers: 15,000 ÷ 500 = A$30.
A$30 is the best case for what an ad-acquired new customer cost. It assumes every first-time customer came from ads. If some came from search, email or word of mouth, the true figure is higher. The report should show both numbers and say which spend each includes. Retargeting is not worthless; it just needs separating from reaching new people.
Red flag: cost per purchase quoted but never cost per new customer, or claimed purchases above Shopify’s first-time customers with no explanation.
Check 7: Is there enough new creative, and is old creative tired?
- In the Ads tab, filter to the month. Count active ads and how many were created in it.
- Use the creative breakdown in Meta Ads Reporting, which shows results and amount spent per creative. Check whether one or two ads take most of the spend.
- Read the Delivery column. Meta shows Creative limited when cost per result is higher than past ads but under twice as high, and Creative fatigue when it is twice as high or more. It applies only to some ad set types, so a missing status is not proof of a healthy ad.
- Ask for the test log: what launched, what it tested, what was learned.
Meta’s first suggestion for fatigue is a new ad with an image or video materially different from the original. I will not give a number of ads to aim for; I have not found a primary source that does. How many ad concepts a Shopify store needs covers the thinking.
Red flag: the same top ads for three months, an unaddressed fatigue status, or no creative-level view in the report.
Check 8: Where does the traffic land, and does it buy there?
- List where active ads send people: the final URLs in Ads Manager and Google Ads.
- In Shopify analytics, open Sessions by landing page, which shows which page sessions start on. Find the pages your ads send people to, then check how those visits convert in your Shopify or GA4 conversion reports, on mobile and desktop separately.
- Ask what each campaign optimises for. Meta’s page on landing page view goals recommends optimising for conversions first, and says a conversion-optimised ad set needs about 50 or more of that conversion per week to have a chance at being effective. It suggests landing page view optimisation as an alternative below that, so if your store sells fewer per ad set, ask how the agency handles it.
- Open each landing page on your phone and try to buy. Mobile conversion on Shopify lists the common problems.
A dated warning. Shopify changed how sessions are measured in a rollout from 21 to 23 September 2026: sessions no longer end at midnight UTC, some sessions without a pageview are counted, and identified bot sessions are filtered out by default. Shopify says orders, sales and customer counts are not affected, but conversion rate can shift even when sales do not. As at 31 October 2026, a conversion rate compared across that date is not like for like.
Fixing a weak landing page or leaking checkout is conversion work, which is what our Shopify CRO service covers. Its audit starts with quantitative data analysis, including a tracking check.
Red flag: every ad pointing at the home page, no landing-page conversion figures, or a report that celebrates click-through rate while the page converts poorly.
Part 4: History and consistency (checks 9 and 10)
Check 9: What changed, and who changed it?
A good month is often explained by a setting, not the market. Both platforms keep a log that is independent of the report.
- Meta. Choose a campaign, ad set or ad, then open Activity history. Meta says it tracks changes to campaigns, ad sets and ads, showing who made each change, what changed and when. Anyone with the admin or advertiser role on the ad account can change campaigns, and changes by someone since removed appear under Meta’s name.
- Google Ads. Change history lists changes to the account, campaigns and ad groups for the past two years, and its User column shows the email address of whoever made a change in the interface. Automated changes can show generic names.
Line the log up against the report. Did ROAS jump the week an attribution setting or conversion action changed? Do you recognise every name?
Red flag: a setting changed in the period results improved, unfamiliar names with access, or an agency that cannot say what changed.
Check 10: Is the report like for like, and does it answer the real question?
Lay the last three reports side by side. Check the same attribution settings, time zone, spend definition (with or without fees), campaign list and Shopify revenue measure.
Shopify’s own reports have changed too, which can make months look different for reasons unrelated to the ads. Its Performance by marketing channel report changed in September 2026 to include all traffic reaching your store, so totals may be higher than before. From 18 October 2026, visits where the referrer is your own store count as direct traffic and get no credit under last non-direct click. Shopify says total sales and orders are unaffected. In that report a dash means no cost data, not zero cost.
Then look at what is missing. A report that holds up shows ad spend, a Shopify-side total, cost per new customer, the attribution settings in use, and at least one thing that did not work. A return of 3.8 is good or bad depending on your margins; the break-even ROAS guide works that out.
Red flag: drifting definitions, campaigns that vanish from the table, or no number you can check outside the platforms.
How to read your results
Sort each check into three groups.
- Pass: it reconciles, or the gap has an explanation you can verify.
- Ask: the gap has a plausible innocent cause, so send it as a question.
- Stop: you do not own the accounts, spend cannot be traced to billing, or platform claims exceed Shopify’s total with no explanation. Resolve these before any conversation about budget.
Questions that work in an email, because they have factual answers:
- Which attribution setting does each active ad set use, and did any change in the last 90 days?
- What is the return on Shopify net sales against total spend, including your fee?
- How many of last month’s orders were first-time customers according to Shopify, and what did each cost?
- Can you add me as a full-control user on the Meta portfolio and an admin on Google Ads?
A good agency answers in a day. A refusal to share access is a finding in itself. If the report reconciles, that supports keeping the working relationship, though it does not prove the ads are good. If it fails on ownership or reconciliation, read what to watch for before you sign with a Shopify agency before deciding what to do.
One limit: reconciling a report does not show that the ads caused the sales. Some customers would have bought anyway, and none of these checks tells you whether spend is profitable. They are a reason to ask better questions, not a verdict.
Key takeaways
- Audit the report against records the agency does not control: billing, Shopify orders and sales, account settings and change logs.
- Add up what each platform claims and compare it with Shopify. Claims above the store’s total mean some sales are counted more than once; claims close to it deserve a question.
- Ask for the attribution setting behind every headline, with the click-only figure beside it, and use Shopify’s New vs returning customers report to get cost per new customer.
- Shopify changed session measurement on 21 to 23 September 2026 and its marketing channel report in September and October 2026, so some comparisons are not like for like.
- Small gaps are normal. Unexplained gaps and closed doors are the findings; check ownership first.
FAQs
How often should I audit my ads agency’s report?
Do all ten checks once, then a short version each month: spend against billing, platform claims against Shopify totals, and the new customer split.
Why don’t Meta and Google sales match Shopify?
They count differently. Meta can credit a sale to an ad someone saw but did not click, and Shopify says each platform credits sales by its own rules. Why Meta shows more sales than Shopify covers the common causes.
What attribution setting should my agency use?
Neither Meta nor Google names one correct setting in the pages I read. Disclose it, keep it the same when comparing periods, and show a stricter click-only figure beside the more generous one.
Should I own my ad accounts?
I think so. On Meta, your business portfolio owns the ad account and pixel and the agency is added as a partner, which Meta supports. On Google Ads, you hold admin access. That is my opinion, not a platform rule, and not legal advice.
Does a mismatch mean my agency is lying?
No. Shopify’s help pages list blocked scripts and cookies, time zones and each tool’s own tracking methods as causes of gaps, and Meta’s list attribution windows, conversion dates and ad blockers. The warning signs are a gap no one can explain, definitions that change without notice, and refusal to share access.
Keep reading
- Why Meta shows more sales than Shopify
- Attribution is broken on Shopify in 2026
- Shopify agency red flags before you sign
Want a second pair of eyes on the numbers behind your ad spend?
An ads report shows what the platform credited; it does not show whether your store counted the orders or converted the visitors. Book a free 30-minute diagnostic: we look at where your store loses buyers after the click, using your own numbers, and tell you what to fix first. We do not run ads, audit ad accounts or run email. No pitch. No email gate.
If tracking you cannot trust or visitors who do not buy are the problem, that is where our Shopify CRO service starts.
Free 30-min diagnostic
Seen enough?
Book a free diagnostic.
We'll look at where your store loses buyers after the click and what to fix first. No pitch. No email gate. 30 minutes.
More from Prism3
Afterpay vs Zip vs Shop Pay Instalments: Shopify AU
Afterpay, Zip and Shop Pay Instalments compared for Australian Shopify stores: merchant fees, payouts, approval, checkout placement and a worked margin example.
AI-Referred Orders on Shopify: What Is Real and What Is Hype
What Shopify has disclosed about AI-referred orders, why the 13x headline needs context, how to find AI traffic in GA4 and Shopify, and what to do now.
AI Visibility Tools for Shopify: What They Measure and Miss
What AI visibility tools for Shopify stores really count: mentions, share of voice and citations, where the data is sampled or unstable, and how to use them.