Your agency sends over the monthly report. ROAS on Meta: 4.2x. Then you check your Shopify payouts and the number doesn't match the growth story in the slide deck. Nobody stole anything. The agency isn't lying to you. But you're stuck asking a question every brand paying a retainer eventually asks: whose number is real?
This is the core tension of running paid media through an agency. They report performance from inside Meta Ads Manager or Google Ads, using attribution models built to make the platform look good: Meta's 7-day click window, Google's data-driven attribution, both of which count conversions that may have happened anyway, or that overlap with other channels entirely. Your bank account only sees what actually landed in Shopify or Amazon, after refunds and discounts.
This page is for DTC founders and marketing leads who are paying an agency to run paid media and need their own view of what's actually happening, not a repackaged version of the agency's dashboard with a different logo on it. If you're the one accountable for marketing leaders and their budgets, you need ecommerce analytics for a brand with an agency running paid media, one that doesn't depend on the same platform the agency is being graded on.
Here's what to actually demand from that analytics layer, and how it should work alongside the agency you already have.
The 3 Blind Spots Agencies Can't Fix With Their Own Dashboards
Even a good agency, working in good faith, is structurally limited in what it can show you. Three blind spots show up over and over.
Platform ROAS vs blended ROAS. The agency's dashboard counts what Meta or Google says it drove. It doesn't know your actual Shopify order volume, your refund rate, or the discount code that ate 20% of margin on half those orders. Platform ROAS is a proxy. Blended ROAS, tied to real orders, is the actual answer.
No cross-channel view. If the agency runs both Meta and Google, each platform still reports in isolation. Nobody on their side is naturally incentivized to show you where Meta and Google are bidding on the same customer, or where adding more Google spend is just cannibalizing organic and email. Honestly, this is the blind spot agencies rarely bring up on their own. You need to see both channels overlaid against total revenue at once, not two separate exports.
Incentive misalignment. Agencies are graded, often by their own account managers internally, on the metrics they control: spend delivered, CTR, platform-reported ROAS. None of that is the same as net profit after cost of goods and platform fees. This isn't an accusation of bad faith. It's just how the incentive structure is built.
None of this means you need to distrust your agency. It means you need a neutral scoreboard both sides can look at, so the conversation moves from "trust my dashboard" to "here's what the store actually did."
What to Require From an Analytics Layer When an Agency Runs Your Spend
If someone else controls the ad spend, your analytics layer has to be built for that reality, not for a brand running everything in-house. A few non-negotiables:
Shared access, one number. The agency should get read-only or scoped access into the same dashboard you use, so nobody is reconciling two different exports before a budget call. One dataset, viewed from two logins.
Reconciliation against real store data. Ad platform pixels tell you what the platform thinks happened. Actual Shopify orders and Amazon settlements tell you what happened. The analytics layer needs to tie spend to the latter, not just the former.
GA4 funnel data layered in. Ad platforms have been undercounting since iOS 14.5+ started limiting tracking, and cross-device journeys make single-platform attribution worse every year. GA4 data fills in gaps that Meta and Google's own reporting can't see.
A permissions model you control. You should be able to grant, adjust, or revoke agency access without re-plumbing your entire reporting stack, especially if you ever change agencies.
Forecasting that isn't the agency's pitch deck. When an agency proposes a budget increase, the projection behind it usually comes from their own optimistic modeling. You need a forecast built on your actual historical performance.
If you want to see exactly how that permissions piece works before committing to anything, it's worth a direct conversation rather than guessing from a features page: talk to a founder about how agency-scoped access is set up.
How Trivas Gives Brands an Independent View Their Agency Can Also Use
Trivas is built on Amazon Redshift, pulling Amazon, Shopify, Meta, Google Ads, and GA4 into one blended dataset. That's the foundation that makes an independent view possible: everything sits in one warehouse, so blended ROAS isn't a manual spreadsheet exercise. It's just what the dashboard shows by default.
Access is role-based. As the brand owner, you see everything: every channel, every dollar of revenue, refunds, discounts, the works. Agency users can be scoped to see exactly the channels and metrics relevant to their work, no more, no less. Nobody has to build a second, dumbed-down dashboard just for the agency to log into.
The AI Wingman layer watches for discrepancies automatically. If platform-reported ROAS on a campaign diverges from blended revenue ROAS by more than a set threshold, it surfaces that as a flag instead of leaving you to notice it three weeks later during a QBR. That's arguably the most useful piece of the whole setup: it catches the gap before it becomes an argument.
Forecasting is built on your own historical performance, not the agency's spend projections. So when someone proposes doubling the Meta budget next quarter, you can stress-test that against what similar spend increases actually did to your revenue and margin in the past, not just what the pitch deck assumes.
This is exactly the setup agencies running Meta campaigns or Google Ads for a brand typically plug into: they keep their working access to the ad platforms, and Trivas sits on top as the layer both sides actually trust.
Platform-Reported ROAS vs Trivas Blended ROAS: A Side-by-Side
Here's what the gap usually looks like in practice.
Meta Ads Manager (platform-reported)
- Attribution window: 7-day click, 1-day view (default)
- Revenue counted: Gross ad-attributed conversions inside the platform
- Refund handling: Not reflected
- Cross-channel overlap: Not visible, Meta only sees Meta
Trivas (blended)
- Attribution window: Tied to actual order timestamps across the full customer journey
- Revenue counted: Net store revenue from Shopify/Amazon orders
- Refund handling: Refunds and discounts netted out
- Cross-channel overlap: Meta, Google, and other channels viewed together against total revenue
An illustrative example [VERIFY: illustrative only, not a real client stat]: an agency reports 4.2x ROAS inside Meta Ads Manager for the month. Factor in refunds, discount codes, and the portion of "Meta-driven" revenue that overlapped with a concurrent Google campaign targeting the same audience, and the blended number comes out closer to 2.8x.
That gap doesn't mean the agency is inflating numbers. It means platform attribution and true revenue are two different measurements answering two different questions. Not a scandal, just two different rulers measuring the same thing. Trivas closes that gap for both sides, so the budget conversation starts from one shared number instead of a negotiation between two.
Getting Set Up Without Disrupting Your Agency's Workflow
Setup doesn't require touching what your agency is already doing.
First, connect your store: Shopify, Amazon, or both. Second, connect your ad accounts, keeping full admin control on your side while the agency retains the working access they already have to run campaigns. Trivas sits on top of both as the reporting layer. It doesn't replace or interrupt the agency's day-to-day media buying.
There's no migration required. The agency keeps using Meta Ads Manager and Google Ads exactly as they do now. Trivas ingests from the same accounts they're already logged into.
Most brands are fully connected within a few days. The only thing needed from the agency during setup is read access to the ad accounts they're already running, nothing more, nothing that interrupts their workflow.
This is the same pattern Trivas uses more broadly with agency partners, not just as a one-off workaround. If you want to see how that relationship typically works from the agency side too, how Trivas works alongside agency teams covers it in more detail.
Get the Numbers Your Agency Can't Argue With
None of this is about replacing your agency. It's about making sure you have your own scoreboard, one that doesn't depend on the platform your agency is being measured against.
If your agency's reported ROAS and your actual bank account keep telling different stories, the fix isn't hiring a new agency. It's putting an independent analytics layer between the two.
Start a trial and connect your existing ad accounts and store in one sitting, no need to change anything your agency is already doing. If you'd rather walk through how the agency-access permissions work first, that conversation is available before you commit to anything.
.d53b12e5.png&w=3840&q=75)




