The problem this solves
Every ad platform accepts customer lists and every one wants them differently: different columns, different hashing rules, different treatment of phone numbers and country codes, different file limits. A list that uploads cleanly to one platform is rejected by the next, and the person doing the upload finds out at the end of the day when the campaign was supposed to start.
For platforms where the connection is not managed directly, the right deliverable is a file that will upload the first time, with a note explaining what was done to it. Three files from one list, each formatted and hashed to its platform's specification, saved where the media team already keeps campaign assets, turn an afternoon of trial and error into a few minutes of uploading.
How the mission runs
- Read list <name> and normalize identifiers. The Audience Agent loads the list and normalizes the identifiers each platform matches on - emails lowercased and trimmed, phone numbers in international format with country codes, names and locations where a platform uses them - and drops rows with no usable identifier.
- Build the TikTok file. The audience export capability writes a file with the columns TikTok's customer-list upload expects, hashed with the algorithm it specifies, and checks the row count against the platform's minimum and file limits.
- Build the X and Pinterest files. The same is done for X and for Pinterest, each with its own column layout and hashing rules, and each file named with the list and platform so they cannot be confused at upload time.
- Save to Drive with the mapping notes. The three files are saved to Google Drive under <folder> with a short note per platform stating the columns used, the hashing applied, how many rows were included and excluded and why, and the upload steps.
The prompt
This is the exact objective the agent receives. Swap the obvious placeholders for your own domain, segment or channel and run it as-is from the console, Slack, or the API.
What comes back
Three files in Google Drive under <folder> - one each for TikTok, X and Pinterest - each formatted and hashed to that platform's customer-list specification from list <name>, plus a note per platform with the field mapping, the hashing applied, the row counts and the upload steps. The report flags any platform where the list falls below the minimum audience size.
Make it yours
- Add a Google Customer Match export in the same run with the dedicated playbook.
- Suppress current customers first so the exports are acquisition-only.
- Schedule a monthly export so the files in the folder always reflect the current list.
- Produce a separate file per country when a platform's match is stronger with local phone formats.
Frequently asked questions
Why are the files hashed rather than plain?
Each platform expects hashed identifiers for customer lists, and hashing before the file leaves the workspace means the plain identifiers never sit in a shared folder.
What if a platform changes its format?
The export capability tracks the current specifications; if a file is rejected, share the platform's message in the thread and the agent regenerates it.
Can it upload for me?
For these three platforms the deliverable is the file; LinkedIn, Meta and Reddit audiences are created directly on connected accounts through their own playbooks.
Does the list need phone numbers?
Emails alone are enough for all three platforms; phone numbers improve match rates where present and are normalized to international format before hashing.
How are rows with no usable identifier handled?
They are excluded from the files and counted in the note, so the row totals in the files match what the platforms will attempt to match.
Can the files be delivered somewhere other than Drive?
Yes. Name a Notion page or ask for them attached in Slack; the hashing and formatting are the same.