Six ways tracking breaks, and how to check each one
Tracking doesn't fail in unlimited ways. It fails in about six, and each one has a fingerprint. Here are the six, and the check to run if you only have time for one.

The first question after fixing a tracking gap always arrives in the same shape: can we go back and fix the months we lost?
Some of them. The lost data sits in three layers, and confusing them is what makes teams spend weeks on something that was never rebuildable.
Anything that comes from your store's database survives, because it never depended on the browser:
That's more than it sounds. Run identity resolution over your historical orders and your repeat rate and customer count change straight away, without recovering a single lost event. Those numbers come out of your store's records, not out of events that never arrived.
If the source was written down anywhere at the time, it can usually be reattached to the order. What settles it isn't how much effort you spend, it's whether a signal survived at all:
| Signal stored at the time | Recoverable? |
|---|---|
| UTM saved on the order record | Usually |
| Click ID captured server-side | Usually |
| Referrer in web server logs | Sometimes, with work |
| Discount code tied to one creator | Partly, and it undercounts |
| Nothing | No |
You can check this in ten minutes. Open twenty orders from the period you want back and look for a stored field carrying a source. If it isn't in the twenty, it won't be in the two thousand.
Usually the last row covers the largest share of your orders. The ones you most want back are the ones sitting in "direct". They're also the ones with no stored signal, which is why they landed there in the first place.
An event the browser never sent left no trace anywhere. There's no log to mine, no export to reprocess, and nobody who can fetch it for you. A blocked pixel doesn't record that it failed. It just doesn't run.
Same for a cookie that expired. Once it's gone, there's nothing left linking that returning visitor to their original source.
Time on this layer comes out of the time you'd spend closing the gap going forward, and the gap stays open while you work on it.
Identity resolution in Flowfy runs over your existing order history, so repeat rate and customer count correct retroactively. Order source is written from the day you connect the store, and past orders aren't changed. That's the usual reason the "direct" share drops sharply in the first full month after connecting.
Can I import historical orders? Yes, and they'll resolve into customer identities. What you won't gain is a source that was never recorded.
Will the ad platform give me back the missing conversions? No. The platform only knows what reached it, which is the same set you're missing.
Is it worth backfilling UTMs from server logs? Only if the logs actually retained referrers and query strings for that period, and only if the order volume justifies the work. Open the logs and look before you size the job.
When do my reports become comparable again? After a full attribution window, so 90 days. After that you can compare periods without the boundary skewing them.
Before you open a rebuild project, check one thing: whether any source signal is stored on the old orders. If there isn't one, move the whole effort to closing the gap forward and running identity resolution over history.
Tracking doesn't fail in unlimited ways. It fails in about six, and each one has a fingerprint. Here are the six, and the check to run if you only have time for one.

Alert me if events drop below 100 a day is a rule that works for one store, for about a month. A threshold that doesn't know your normal fires when you're fine and stays quiet when you're not.

The score a platform gives you counts how many identifiers arrived with the event. Here's what it actually counts, three common objections to it, and what genuinely raises it.