Skip to content

Proof of matching

Coming to PixelCapi Pro

Why is your event match quality low?

Match quality is the platform grading how well it can tie your event to a real person. It drops when events arrive carrying fewer identifying parameters than they could — or carrying them in a form the platform cannot read. PixelCapi already hashes what it sends by each platform’s own rules; the Match Quality Center is designed to show you, parameter by parameter, what each event actually carried.

shipped today

Hashing that respects each platform’s rules

Before any dashboard exists, the thing that most often holds a match score down is data the platform cannot read. That part is already handled.

Hashing done per platform, not once for all of them

Personal data is SHA-256 hashed to each platform’s specification before it leaves your server — including multibyte and diacritic case folding, and the phone and geo differences between Meta and TikTok. A name with an accent in it is a common, silent reason matching fails across Europe.

Raw only where the platform requires raw

IP address, user agent and click IDs are sent unhashed because the platforms require them in that form. Everything else that identifies a person is hashed. Access tokens stay server-side and are never written to logs.

the mechanism

What the Match Quality Center is designed to show

Coming to PixelCapi Pro

Everything in this section describes intended behaviour, not shipped behaviour.

Presence, per parameter, per event

A score on its own tells you there is a problem. A list of which parameters were present on which events tells you where it is.

Purchase em ✓ ph ✓ fbc ✓ external_id —
Purchase · guest em ✓ ph ✕ external_id ✕

Designed output. This capability has not shipped, and these are not real rows.

TODO(owner: screenshot)

Match Quality Center — available once the capability ships.

how it will work

Three steps, once it ships

  1. step 1

    Every send records which parameters it carried

    Not the values — the presence. Email, phone, external ID, click ID, city, country: present or absent, per event.

  2. step 2

    The pattern is summarised per event type

    A Purchase that always carries email and never carries an external ID is a different problem from one where email is missing half the time.

  3. step 3

    The Identity Store fills the gap it can fill

    Guest checkouts are where a durable identifier usually goes missing. The Identity Store is designed to keep one, so returning and guest buyers can be recognised across sessions.

Questions people ask about this

Short answers. Anything we cannot confirm, we say so.

Is the Match Quality Center available today?

No. The Match Quality Center and the Identity Store are both in development, and are marked with the roadmap badge everywhere they appear on this site. Correct per-platform hashing is in the released plugin now.

What already improves matching today?

Per-platform correct hashing, including multibyte and diacritic case folding and the phone and geo differences between Meta and TikTok. Getting the hashing wrong is a common cause of low match quality that never shows up as an error.

Do you send my customers’ email addresses to the platforms?

Not in readable form. Personal data is SHA-256 hashed per each platform’s rules before it leaves your server. IP address, user agent and click IDs are sent raw because the platforms require them that way.

What is the Identity Store for?

A durable identifier for buyers who are not logged in, so a guest checkout is not an anonymous event. It is in development, not shipped.

Proof beats promises. Watch this land.

This capability is in development. Release notes go out on the changelog as each part ships.