The two formats
- Customer match
- Follow-up sheet
A two-column CSV:
email, phone, both SHA-256 hashed. Nothing else.Every value is normalized the same way ad platforms expect: lowercase, trimmed, then
hashed. That is deliberate. Meta, Google, and TikTok all hash a customer list the same
way before matching it, so a hash TrackPlay produces from Jane@Acme.com matches the
hash the ad platform produces from the same address on its side. Upload it directly as
a Custom Audience or Customer Match list.Rows with neither an email hash nor a phone hash, and exact duplicate hash pairs, are
dropped before the file downloads. There is no reason to upload noise to an ad
platform.Two independent choices
Every export is one request with two parameters, chosen independently.
So
scope=hot&format=full is your call list with real phone numbers and emails attached.
scope=all&format=customer_match is every viewer you have ever identified, hashed and
ready to upload as a retargeting audience.
How the export runs
That directness comes with hard limits, so one export request can never turn into an unbounded database scan:
If your audience is larger than the cap, export in the scope that fits your need (
hot
is almost always what you want for follow-up) rather than expecting a second file to pick
up where the first left off. There is no pagination on this endpoint today.
This is different from the video-report export in the API, which does run as an
asynchronous job and hands back a download URL for larger jobs. Audience exports and
video-report exports are separate mechanisms with separate limits. Do not assume the
async behavior of one applies to the other.