Why the revenue in your analytics never matches your bank
1. Timing
An order placed on the 28th is revenue in that month. The remittance for it may land in the middle of the next one. Compare a calendar month of orders against a calendar month of bank credits and you are comparing two different sets of parcels — before any deduction is even considered.
This one is not an error, and it is the reason a profit statement has to decide which event it counts. Both answers are defensible; using one for revenue and the other for costs is not.
2. The parcels that came back
Analytics counted the order. The customer refused it at the door. Nothing about that refusal happens on your website, so nothing about it reaches your analytics — the sale stays on the record for ever, and the money never existed.
3. Withholding
The rider collects the full amount in cash. The courier deducts withholding tax on the collected value before remitting the rest. You never touched the difference, no document in your possession shows it unless you read the settlement file, and it is deducted from every delivered order.
4. Freight, in both directions
Forward freight is a real cost against a real sale. Return freight is a real cost against a sale that did not happen. Many stores charge the customer a delivery fee and quietly pay the courier more than they charged — a small loss per order that is invisible precisely because it looks like a revenue line.
5. Orders that never went through your website
Phone orders. Instagram DMs. WhatsApp. A regular customer who messages you directly. These are real revenue that reaches your bank and was never on your website, so this difference runs the other way — the only one of the six that does.
It is also why a dashboard should report how many orders it could not attribute to a visit, rather than quietly leaving them out of the funnel and letting the two numbers disagree with no explanation on screen.
6. Cancellations, discounts and part-payments
An order cancelled before dispatch is usually still in your analytics. A discount applied at checkout may or may not be reflected depending on how the tracking was set up. A part-paid order — advance plus balance on delivery — is two events to your bank and one to your website.
Which number should you trust?
For “how is the business doing”, the bank, because it is the only one where the money is real. For “is this channel working”, analytics, because the bank cannot tell you where a customer came from.
The mistake is not preferring one. It is using a single number from one of them to answer both questions, which is how a store concludes a channel is profitable using a figure that never had freight, returns or withholding taken out of it.
What a reconciliation actually needs
- Orders, with their status, so returns and cancellations can be separated from sales.
- The courier settlement file, matched to those orders rather than totalled on its own.
- The cost of the goods, frozen at the time of sale.
- A note of which orders arrived without a tracked visit, so the gap is stated instead of hidden.
Questions people ask
- Why is my Google Analytics revenue higher than my bank deposits?
- Five of the six reasons on this page push that way: timing, returned parcels, withholding, freight, and cancellations. Only off-website orders push the other way, and they rarely make up the difference.
- Should analytics revenue ever match the bank exactly?
- No. They measure different events at different times, and one of them has deductions applied that the other cannot see. A store whose numbers match exactly has probably not noticed something.
- How do I reconcile courier remittances against orders?
- Match the settlement file to individual orders rather than comparing totals. A total that looks right can still contain a short payment on one parcel and an overpayment on another.
- What is a short remittance?
- When the amount the courier sends for a parcel is less than what was collected, after allowing for the deductions you expect. It is only findable per parcel, which is why totals hide it.
- Do I need to record phone and Instagram orders?
- Yes, or your revenue is understated and your conversion rate is wrong in both directions. It is also the only one of these six differences that makes your website look worse than it is.
- Does this apply if I take card payments rather than cash?
- Partly. Timing and cancellations still apply, and the gateway takes a fee. Returns and withholding are specific to cash on delivery, which is why COD businesses see a much wider gap.
Next
The arithmetic behind all six, on a single order, is in how to work out your real profit on one order. If it is the returns and the withholding you want to pin down, tracking RTO and courier withholding takes those two on their own.
Written by Markazi Panel, which does the arithmetic in this guide for you — see a dashboard with a month of data in it, or ask anything at hello@markazipanel.com.
Read next
- What tracking COD profit in a spreadsheet actually costs youThe four places a profit spreadsheet goes wrong, and why every one of them errs in your favour.
- Free analytics is not free when every order is cashWhat a free analytics tool costs a COD business, measured in decisions rather than rupees.
- How to see traffic from ChatGPT and other AI assistantsWhy AI traffic hides inside 'direct', how to pull it back out, and the difference between being read and being recommended.