
The Number Nobody Could Say Out Loud
A Shenzhen team running pet supplies out of one office hit this in June. Their Monday review had been running ninety minutes. The founder asked a simple question: how much did creator content actually contribute last month?
The finance lead opened a spreadsheet. The ads lead opened Seller Center. The affiliate lead had screenshots. Six minutes later they had three numbers, and none of them matched. The gap between the smallest and largest was 31%.
They did not have a data problem. They had a reporting problem, and it had quietly become the reason nobody could decide anything. The founder had stopped asking questions that required the creator channel numbers. That is what poor reporting costs — not accuracy, decisiveness.
This is written for operators running TikTok Shop across two to four markets, usually a US shop plus Malaysia, Thailand, or the Philippines, from a single desk in Guangzhou, Shenzhen, or Dongguan. You have 30 to 150 SKUs. Your finance function is one person with strong Excel habits and no interest in BI tools.
What This Solves and What It Does Not
This covers getting GMV and creator attribution data into a sheet that a finance person will accept, and keeping it there with modest weekly effort. It does not cover building dashboards for a team of fifteen, or real-time data. If you need sub-hour freshness, this setup will frustrate you, and a BI tool is the honest answer.
I will also be clear about the ceiling. Manual and semi-automatic export to Sheets works well up to roughly four markets and a few hundred creators. Past that the reconciliation work grows faster than the value.
Why Copy-Paste Reporting Breaks Around Three Markets
A single market is manageable by hand. You export from Seller Center, paste into a tab, and it is done before anyone notices.
The second market doubles the work but not the difficulty. You now have two tabs and week-based naming conventions that made sense in month one.
The third market is where it breaks, and it breaks in a specific way. Each market has different settlement timing, different currency treatment, and often different return windows. A Malaysia order and a US order booked the same week settle on different days. So your weekly column contains two currencies, two refund lags, and two partially-settled periods. Nobody reconciles that reliably by hand.
Three Failure Points
Every manual reporting setup I have reviewed failed at one of three places, usually in this order.
The first is silent staleness. Someone refreshes the file but not the tab. The number looks plausible, so it survives a review. This is the most damaging failure because it has no visible symptom.
The second is rewritten history. Pasted totals get sorted, filtered, or overwritten. Last month’s number changes, and nobody can explain why. Finance stops trusting the file, which costs more than the file was worth.
The third is attribution arguments. When one system shows orders and another shows GMV, teams spend the meeting arguing about which source is right instead of deciding anything. See how export actually works before you compare two numbers that count different things.

What You Actually Need in a Sheet
The instinct is to pull everything across. Resist it. Every column you add is a column someone has to maintain, and unused columns rot fastest.
You need six columns to make a decision, plus three dimensions to slice them. Six columns is enough to answer “did this work and what do we do next.”
| Column | Why it earns its place | The trap people fall into |
|---|---|---|
| Date (order placed, not settled) | Makes all markets comparable | Using settled date makes every market incomparable |
| Market / shop | Required for any cross-border view | Mixing shops into one row hides everything |
| Creator or campaign | Lets you attribute anything | Leaving this blank makes the sheet decorative |
| Orders attributed | The volume signal | Ignoring unattributed orders overstates the channel |
| GMV attributed | The revenue signal | Confusing this with settled cash causes budget fights |
| Estimated landed cost per order | Turns GMV into contribution | Skipping this column means you cannot answer “did we profit” |
Three dimensions worth adding: SKU, creator tier if you use one, and content type. Add nothing else in month one. If someone asks for a fourth dimension, add it in month two once the first three are reliable.
The Six Columns That Decide Everything
Notice what is absent: impressions, views, likes, engagement rate. Those belong in a content reporting file, not a commercial one.
Mixing content metrics into a money sheet is the single most common reason these files fail. It makes the sheet look comprehensive while making every column ambiguous. Views do not reconcile to cash. Someone eventually tries to, gives up, and quietly rebuilds their own version. Now you have two sources.
Keep one file for money and one for content. Link them by creator and date.
Getting Data Out Without Breaking Anything
Three routes exist, and they are not mutually exclusive. Most teams end up on the second.
The first route is manual export. Seller Center exports, pasted weekly. It is free, requires no review, and breaks at around three markets. Use it for your pilot month to learn which columns you actually read.
The second route is Sheets add-ons and scheduled pulls. A connector fetches scheduled reports into a tab on a timer. This removes the weekly chore and cuts the staleness failure. It does not fix the reconciliation problem, and it introduces a new one: when the connector silently fails, nobody notices for a week.
The third route is exporting into a warehouse or BI tool. Honest answer — do not do this to solve a reporting problem. Do it when you have analysts who will actually query it. Until then it is an expensive way to rebuild a spreadsheet.
Guardrails Before You Automate
Two rules make automating this safe.
Lock source tabs. Anything populated by a scheduled pull should be protected so nobody edits a cell. Manual edits into an auto-refreshed tab are how files lose credibility permanently. Keep all derived analysis on separate tabs that read from source and change never.
Second, log the fetch. Add one row that records when data last landed, read from the connector’s own timestamp, and put it in a cell at the top of the file. If that date is older than expected, everyone knows before they quote a number.

Making the Sheet Survive Contact With Finance
The test of this setup is not whether it looks good. It is whether your finance person accepts it. Three habits get you most of the way.
Separate booked from settled. These are different numbers and both are legitimate. Label the column, define it in the file, and never overwrite one with the other.
When the same file feeds more than one store, keep one row per store per week and let a pivot read across them. If you later outgrow the file, DAMI reads the same booked-versus-settled distinction directly from shop data, so the definition you built here carries over instead of being reinvented.
Reconcile to one source monthly. Pick either the platform’s settlement report or your payment provider as truth, and reconcile the others to it once a month. If the gap is under 3%, note it and move on. Above 3%, find the structural reason, which is usually returns timing or a currency assumption.
Why Two Numbers Disagree
You will routinely see two totals that should match and do not. Before assuming error, work through the four usual causes.
Attribution windows differ between systems. One counts a sale to whatever was last clicked, another to last touched within fourteen days. Returns are sometimes netted out immediately and sometimes reconciled later. Currency conversion happens at order time in one tool and settle time in another. Marketplace fees are deducted before payout but often not reflected in GMV views.
Any of those alone explains a 1 to 5% gap. If your gap is larger and none of the four explains it, then you have a real data problem worth chasing.
Review Rhythm: Turning Numbers Into Decisions
A sheet nobody reads is waste. The value comes from asking the same four questions every week, in the same order. Same questions every time is what separates reporting from curiosity.
| Weekly question | What it surfaces | Action threshold |
|---|---|---|
| Which creators produced attributed orders this week? | Sleepers and new winners | Two quiet weeks on a sampled creator prompts a check-in |
| Which SKUs carry the creator revenue? | Concentration risk | One SKU above 50% means the program is a bet |
| What did we spend on samples versus what came back? | Sample efficiency | Below 40% post rate means screening needs work |
| What is contribution after landed cost? | Whether it is working | Anything near zero gets cut, not optimised |
Keep the output to one decision and one owner per week. That constraint is what stops the meeting from becoming a tour of the data.
Where This Setup Stops Working
The honest boundary is scale. Manual and scheduled-pull reporting works comfortably to roughly four markets and a few hundred creators.
Past that, reconciliation hours grow faster than decisions improve. The specific trigger to watch is when updating the file takes more than two hours a week and still gets challenged. That is not a tooling failure. It is a signal that reporting should move to a system built to hold creator-level history rather than a sheet that was never designed for it.
“We were spending most of a day a week keeping three tabs alive,” a Guangzhou operator running three Southeast Asian shops told me. “The month we moved off sheets was the month we started arguing about strategy instead of whose number was right.” That matches the pattern. The constraint is rarely the tool. It is that no tool owns the history.
For teams past that point, DAMI holds the creator-level layer — shop data, multi-store rollup, and email tracking in one workspace rather than a sheet that gets rebuilt. If your weekly file is already costing half a day, see the product page. To sanity-check your inputs before you build anything, the open plan and targeted plan breakdown explains why those two report differently. You can also create your account and rebuild last month’s numbers in the workspace before you commit to either setup.

Frequently Asked Questions
Can I just export from Seller Center and paste it weekly?
Yes for one or two markets, and it is the right way to learn which columns you actually read. It breaks quietly around three markets, when differing settlement timing makes your weekly column internally inconsistent.
Why does my GMV number differ from what the platform shows?
Usually one of four causes: attribution window, return timing, currency conversion point, or whether fees are deducted. All four explain a 1–5% gap. Anything larger and unexplained deserves investigation.
Should I include views and engagement in the same sheet?
No. Keep money and content metrics in separate files linked by creator and date. Mixing them makes every column ambiguous and eventually gets the sheet abandoned.
How often should I reconcile to my finance source?
Monthly, and pick one source as truth. Reconcile everything else to it. Under a 3% gap, note and move on. Above that, find the structural cause rather than averaging the difference away.
When is it time to move off Google Sheets?
When updating the file takes more than two hours a week and the numbers are still challenged in review. That is the point where reconciliation effort has overtaken decision value.


