Back to blog
Attribution3 min read

How fourteen identifiers become one customer

A phone visit and a laptop purchase are two separate records. Here's what merges them, why backfilled history changes your attribution, and what moves in your numbers afterwards.
A phone visit and a laptop purchase are two separate records. Here's what merges them, why backfilled history changes your attribution, and what moves in your numbers afterwards.

A customer sees your Snapchat ad on their phone, thinks about it for a week, then searches your store name and buys on a laptop.

In most setups those are two separate records, which means two people. And every number you read afterwards rests on that: the source of the order, your repeat rate, customer value, exclusion audiences. So it's worth knowing what merges records in your setup and what doesn't.

The identifiers a profile is built from

Fourteen identifier types, in three groups.

Device and session. The first-party cookie, the user agent, the IP at the time of the event. These are the weakest, and none of them is enough to merge two records on its own.

Given by the customer. Email, phone, your store's own customer ID, the order ID. This is the strongest group, and most of it arrives with the order itself.

Given by the platform. Click identifiers that arrive inside the URL: fbclid, gclid, ttclid, sclid and the rest.

The third group is the one most setups drop, and it's the group that makes paid attribution possible at all. A click ID is the only identifier that you and the ad platform both recognise, so joining spend to orders on it is more reliable than joining on a UTM string somebody typed by hand.

A check you can run today: look at what your store actually sends with each order. If phone and customer ID aren't in there, you're building identity on one and a half groups out of three.

Backfilling an anonymous visitor's history

An anonymous visitor gets a profile on the first pageview. The moment they log in or buy, their whole prior history reattaches to the resolved profile, not just the events after they identified themselves.

Without that backfill, credit goes to the last device rather than the first source. Go back to the customer above: the Snapchat touch was recorded, but it sits on a profile nobody ever connected to anything, so the order gets written to brand search.

How to see this in your own data: open a first-touch report for a closed month and compare it with a last-touch report for the same month. If the two columns look similar, your profiles are probably fragmented and there are no connected journeys for the two models to disagree about.

Backfill works even for a customer who never logs in. The purchase alone is enough, because it carries an email, a phone and an order ID. Someone who never identifies themselves keeps an anonymous profile with its own history, and if they buy two months later, that history reattaches on the day they do.

What changes in your numbers

An illustrative store with 4,832 orders in a month:

Customer recordsOrders per customer
Before resolution4,1001.18
After resolution2,9001.67

Same orders, same revenue, 1,200 duplicate records gone. The repeat rate moves from a number that suggests nobody comes back to one that makes you re-open your acquisition budget.

Those 1,200 records were people you were paying acquisition ads to reach, and they were already your customers. The decision that falls out of the table: before you raise an acquisition budget, check how much of your target audience is genuinely excluded because it bought from you before.

Once resolution is switched on, watch two numbers for a month. Customer record count should drop once and then settle. Exclusion audience size should grow in step. If record count falls and the audience doesn't move, you're building audiences from a different source and that's worth reviewing.

Relay email addresses

Apple's Hide My Email and similar services hand your store a different address for the same person. Identity keyed on email alone treats each address as a new customer.

The fix isn't to guess around it. The fix is to stop treating email as the primary key. With phone, customer ID, order ID and click identifiers all in the profile, a relay address becomes one weak signal among stronger ones, and known relay patterns aren't used as identity keys at all.

Guest checkout breaks identity the same way. Someone buys with one email, comes back a month later and buys with another email and the same phone number. If the phone reaches you with the order, the two records join. If it doesn't, they stay apart however long you wait.

In Flowfy, identity resolution across the fourteen identifier types and history backfill on identification are live today, and the order-level source, the customer journey and segments are all built on them.

One part of it stays on your side. Check what your store sends with every order: email, phone, customer ID, order ID. If any of those is missing, fix that first, because every attribution improvement after it stands on that.

And after resolution, don't read the new repeat rate as a performance gain. It's the same store with the duplicates removed, not the result of a campaign.