truefold
Reporting and analysis for Shopify brands.

Ask your marketing data anything. Trust the answer.

Which channel do I fund next month? Which products come back most from Meta? What did that campaign actually make after costs? Truefold turns your Shopify, Google Ads, Meta and Klaviyo data into one set of numbers your whole team reads the same way: in chat, on dashboards, and in a briefing every morning.

Dashboards · Chat · Morning briefing, live by tomorrow morning.

Figures throughout come from a sample store modelled on real brand patterns. The gaps they illustrate are real; the sizes will be different on yours.

MER · last 12 monthsDefined once
Revenue ÷ ad spend6.00×
+ promo cost5.05×

Your headline ROAS is 16% high — discounts are marketing spend.

What a sale actually costs, per dollar of net sales
  • Cost of goods41.3%
  • Ad spend18.1%
  • Shipping5.3%
  • Payment fees3.4%
  • Discounts given away3.4%
Example store · Shopify · Meta Ads · Google Ads · Klaviyo
Truefold chatjust now

How efficient is each paid channel?

Paid search returns 1.7× what paid social does. Blended across everything you sell: 6.00×.

Paid search3.40×
Paid social1.99×

Worth knowing: only 59.7% of revenue carries a resolvable UTM, so this split explains six dollars in ten. The blended figure covers all of it.

Metric: MER · Dimension: Channel · Sanctioned join, not generated SQL
Signals · this morning3 to read

Truefold watches your sources and your metrics, and tells you when a number is about to mislead you — before it lands in a deck.

  • Data qualityShipping cost recorded on 4% of ordersEvery margin above this line is a floor, not a measurement. Load a cost basis to close it.
  • Opportunity60% of Google Ads spend is capped by budget, not rankThose lost impressions are recoverable by raising budget — a bid or creative change won't touch them.
  • Data healthmeta_ads.basic_ad gained 2 columns overnightSchema drift caught before it reached a dashboard. Nothing you report on changed.
Freshness · schema drift · coverage · spend constraints
What it connects to

Four connections. That's the entire setup.

Sign in to Shopify, Meta Ads and Google Ads, paste a Klaviyo key. Thirteen months of history backfills overnight. There are no tables to pick, no joins to define, no dashboards to build. Truefold already knows what a Shopify brand needs to measure, so you log in the next morning to dashboards that are populated and a briefing that's running.

  • SShopify
  • MMeta Ads
  • GGoogle Ads
  • KKlaviyo

Read-only on every one. Nothing in your store, your ad accounts or your flows changes because you connected us.

No customer names, email addresses, phone numbers or shipping addresses are ever written to Truefold. They're dropped on the way in. Each customer is stored as a hashed ID instead: enough to see that someone bought twice, or to follow a cohort's lifetime value, but not enough for anyone to know who they are.

Four sources is the point, not a limitation we're working on. It's what lets Truefold arrive already built instead of arriving empty. If most of your spend lives in TikTok, Amazon or wholesale, we're not the right tool for you yet.

The reporting job

The numbers are in four places. Putting them together is somebody's Thursday.

Paid sits in Meta and Google. Email sits in Klaviyo. Sales sit in Shopify. Each one reports its own version of how things went, and someone has to turn that into a single view the team can act on, usually by exporting, pasting, and screenshotting the same chart into the same slide every week. It works. It just isn't checkable, and it takes half a day nobody has.

Four platforms, four versions

"Which number are we using?"

Each platform reports its own success, and each report is built from what that platform can see. Nobody's wrong exactly, but the totals don't reconcile, and reconciling them isn't anyone's actual job.

The follow-up question

"Can you break that down?"

The number was fine. The question after it needs the data you don't have open: by channel, by product, versus last year. By the time you've got it, the meeting has moved on.

A chart isn't an answer

"Someone needs to build that."

Looker Studio will show you anything you can specify. That's the catch: it starts empty and assumes you already know what to measure, how to join it, and what counts as a new customer. Most of these projects stall halfway, which is why the screenshot-into-slides habit survives.

None of this is a data problem. The data exists. It just isn't in one place, in one definition, in a form you can question.

How you'll actually use it

Three ways in. One place to dig.

Most tools give you a dashboard and stop there. Truefold gives you the dashboard, tells you when something on it changed, and lets you ask about it, without leaving, exporting, or asking anyone to build something first.

Dashboards

The tab you leave open.

Populated the morning after you connect: six of them, from a five-second overview to acquisition, profit, customers, products and email. No blank canvas, no field picker. Ask for a new one in plain English and it's built from the same metric library, so two dashboards can't disagree about what revenue means. Share them with the team as viewer, editor or admin.

More on dashboards

Signals

The part that comes to you.

A short briefing each morning: what changed, ranked by the money at stake, capped at a few items so it stays worth reading. It watches for the quiet failures too: a sync that stopped, a column that changed upstream, a new campaign whose traffic isn't being counted. On calm weeks it still finds you something. It doesn't just go quiet.

More on signals

Chat

Where the question gets answered.

Ask in plain English and get the number, the chart, and the definition behind it. See something odd in a dashboard, or get a Signal you want to understand, and one click opens it in chat with its context already loaded: the metric, the window, the filters. From there it's a workbench, not a search box: follow the thread, cut it another way, chart it against last year, and keep what's worth keeping.

More on chat

Glance at the dashboard. Get told what moved. Ask why. That last step is the one every BI tool sends you somewhere else to do.

Prefer your own tools? Truefold's metrics are available to Claude and any MCP client.

What a number looks like here

Every number comes with its own small print.

Truefold ships with a library of metrics already defined: efficiency, profitability, acquisition, retention, media performance. Here are three of them exactly as they arrive: what each one means, what it deliberately leaves out, and what it won't tell you. This is the part most tools keep in a help doc nobody opens.

Efficiency
4 sources

MER After Promo

Revenue divided by ad spend plus promo cost. Attributes nothing to anyone, so no platform can inflate it.

Last 12 months
As usually reported6.00×
With discounts counted5.05×

A free-shipping code costs real money and records a $0 discount.

What it won't tell youSplit by channel it stops being blended and quietly becomes channel ROAS, a weaker number. Every answer names the metric it came from, and the metric's own definition says so.
Acquisition
4 sources

nCAC

Total ad spend divided by customers actually acquired, counted from Shopify rather than from a pixel.

Blended$28.64
Read beside
  • New-customer revenue share71.4%
  • Repeat purchase rate30.0%
  • Median days to 2nd order23
What it won't tell youRepeat rate excludes guest checkouts. Repeat behaviour is unknowable without a customer reference, and an email address isn't one.
Profitability
your cost data

Contribution Margin %

What's left after everything that scales with a sale: goods, shipping, payment fees, ad spend. The number a channel decision should actually be made on.

Last 12 months
Gross margin58.7%
Contribution margin31.9%

The 27-point gap is exactly what shipping, fees and ads cost per dollar of sales.

What it won't tell youIt stops at the costs a sale causes. Rent and salaries are in your P&L, but they aren't charged to paid search. Allocating them by revenue share makes a channel look worse in the month it sold more.

Every metric in the library is written up like this. If one can't answer your question honestly, it says so instead of guessing.

Request beta access

We'll run it on your store and walk you through the numbers.

Getting started

Connect it today. It's working tomorrow morning.

Two steps, and the second one happens while you're asleep. There's no implementation, no configuration call, no list of tables to approve. The model arrives built.

  1. Sources
    • SShopify
      Active
    • MMeta Ads
      Active
    • GGoogle Ads
      Active
    • KKlaviyo
      Connecting…
    Read-only · four connections
    01

    Connect.

    about ten minutes

    Sign in to Shopify, Meta Ads and Google Ads, paste your Klaviyo key. That's the whole setup.

  2. Overnight02:14
    • Backfilling 13 monthsDone
    • Building the modelDone
    • Running the first checks62%
    Nobody has to sit through this.
    02

    Sleep.

    overnight

    Thirteen months of history backfills, the model fits itself to your data, and the first checks run.

  3. Tomorrow, 08:00
    • DashboardsPopulated overnight
    • SignalsFirst briefing ready
    • ChatAsk your first question
    One definition set behind all three.
    03

    Open it.

    the next morning

    Dashboards are populated. The first briefing is waiting. Ask your first question in chat and get an answer, on your own numbers, on day one.

When you're ready: add your costs.

Upload a cost file, or start with a margin estimate and refine it later. Everything works before you do this. Adding costs is what turns revenue into profit, and it's the only thing Truefold needs from you.

Metric definitions are yours to adjust: rename them to your team's language, correct anything that doesn't match how you run the business. Most brands never need to.

Why you can rely on it

The AI can't make up an answer. It isn't allowed to try.

Chat doesn't write a number. It calls one of eighty-eight metrics whose formula was written by hand and kept under version control, so the definition of revenue can't drift between two questions, or two people. When a question needs something outside that library, the query it writes is checked before it runs. And underneath all of it, thirty-one reconciliations check the data model against itself.

It says no instead of guessing

When a number doesn't have the data behind it, you don't get a caveat and the number anyway. You get this:

“Net Profit REFUSED: 31% coverage, under the 50% minimum. A number here would be fiction, not an approximation — load the missing cost data first.”

The same applies to questions that don't make sense: ask for profit per product and Truefold declines, because rent isn't caused by a t-shirt. It doesn't leave you guessing either: it points you to where that breakdown does exist.

It separates what was measured from what was assumed

In our sample store, 96% of orders have no shipping cost recorded. The shipping line still reads $36,963, but only $1,473 of that was ever measured. The rest is a default rate standing in for a number nobody entered.

Truefold counts both, and reports how much of a cost line was recorded rather than assumed. A margin built mostly on defaults is a restatement of your defaults. Worth knowing before you put it in a deck.

On attribution, it shows you the argument instead of picking a side

The ad platforms claim 1.33 conversions for every order Shopify actually credits them. And only 60% of your revenue carries a tag that resolves to a channel at all.

Both belong on the slide: the first says the platform numbers are inflated, the second says any channel split only explains six dollars in ten. Truefold reports both. No recomputed ROAS of our own that you're asked to trust over theirs.

One definition, so nobody's number disagrees

Every metric is defined once, in writing, and every surface answers from the same definition: chat, dashboards, the morning briefing. Your paid manager asking about efficiency and you asking about efficiency get the same figure, computed the same way, whoever asks and wherever they ask it.

The numbers are checked against each other before you see them

Thirty-one consistency checks sit over the data model, and they're arguments about what has to be true rather than boxes ticked: cancelled orders must contribute exactly zero revenue; a refund must reverse the cost the item was actually sold at; adding cost data must never change how many orders there are.

We ran all thirty-one against our sample store. Every one passed.

“We won't tell you it's all clear until we've actually looked.”

Your data sits in an isolated warehouse used by your organisation and nobody else. Read-only from every source. Customer names, emails, phone numbers and addresses are dropped before anything is written, and the query layer blocks them from ever reaching output. We don't train AI on your business data.