This is some text inside of a div block.
Get Free Migration Kit
This is some text inside of a div block.

Test text

Salesforce Marketing Cloud Advertising Studio is Retiring August 2026 — Switch to Cezium Ads. Same SFMC integration. Better features.

SFMC Tips
8 min read

How to Sync Salesforce Marketing Cloud Audiences to TikTok Ads

Published on
June 11, 2026
Categories and Tags
SFMC Tips
SFMC
Audience Matching
Advertising Studio
Journey Builder
Cezium Ads Team
By subscribing you agree to our Privacy Policy.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Here is something that gets glossed over whenever the Advertising Studio sunset comes up: TikTok was never in Ad Studio to begin with. Teams losing Ad Studio on August 15, 2026 are not losing their TikTok pipeline — they never had one from SFMC. They have been managing TikTok audiences manually, outside their governance model, probably with a CSV somewhere and a shared login.

That is the gap this post is about. If you want the broader Ad Studio picture first, read the Advertising Studio end-of-life overview and the migration checklist.

Why TikTok matters for SFMC marketers right now

TikTok's advertising reach among younger demographics is unambiguous at this point. More importantly for SFMC practitioners: your first-party CRM data is genuinely valuable there. Suppressing recent buyers, retargeting cart abandoners, seeding lookalikes from your high-LTV segment — these are standard plays on Meta and Google, and they work on TikTok too. The blocker has been operational, not strategic.

The platform accepts customer file custom audiences built from hashed identifiers. From those, you can seed lookalike audiences to expand reach beyond known contacts. TikTok Ads Manager also supports retargeting and suppression use cases via the same audience infrastructure.

What TikTok accepts: identifiers and match keys

TikTok's customer file custom audiences match on:

  • Email address (hashed SHA-256)
  • Phone number (hashed SHA-256)
  • Mobile advertising IDs — IDFA (Apple) and GAID (Google/Android)

As a general rule: the more keys you can provide per record, the better your match rate will be. TikTok's identity graph does the matching on their side; your job is to send clean, normalized, correctly hashed identifiers. Check TikTok's current documentation for the precise file format, column names, and any minimum audience size thresholds they enforce — those details change more often than the key types themselves.

For lookalike audiences, you seed from a custom audience. TikTok lets you tune the similarity/reach tradeoff. Value-based seeding (weighting by customer LTV) is worth exploring if your Data Extension already carries revenue or order-value fields.

The manual method — and why it breaks down in production

Before I describe a better path, I want to be honest about what teams actually do today, because it is not nothing and it is not always wrong for a one-off test.

The manual process looks like this:

  1. Export the relevant Data Extension from SFMC as a CSV.
  2. Normalize the identifier fields (lowercase email, strip whitespace, E.164 format for phone numbers).
  3. SHA-256 hash each identifier — either in a script or using a dedicated hashing tool.
  4. Upload the hashed file to TikTok Ads Manager.
  5. Wait for the audience to process (typically a few hours).
  6. Repeat whenever the segment changes.

For a single campaign with a static list, this works. The problem is that CRM segments are not static, and TikTok audiences go stale the moment your underlying Data Extension moves on.

Failure modes I see repeatedly:

  • Stale audiences. A contact who purchased yesterday is still in your prospecting audience today because nobody re-ran the export. You are paying to show ads to existing customers.
  • Opt-outs not propagated. Someone unsubscribes from email and opts out of ad targeting — but the hashed CSV sitting in TikTok's system does not know that. Depending on your jurisdiction and your privacy policy commitments, this is a compliance exposure, not just a best-practice miss.
  • Data handled outside governance. An unhashed CSV with customer emails and phone numbers lives in someone's Downloads folder, then gets uploaded from a personal laptop. Your DPO would not approve this if they knew it was happening.
  • No audit trail. When a regulator or internal audit asks who uploaded what audience and when, the answer is "we're not sure."
  • Human error at normalization/hashing. A lowercase step missed, a phone number format inconsistency — match rates drop silently, and you have no visibility into why.

If you run this process more than once a month or across more than two or three audiences, the operational overhead and risk profile are not sustainable.

The native method: Cezium Ads inside SFMC

Cezium Ads is an AppExchange package that lives entirely inside your Marketing Cloud instance. It has passed Salesforce's AppExchange security review. Install is one package, one-click, and the typical go-live timeline is about a week.

Here is how the TikTok connection works end to end.

Step 1: Connect your TikTok Ads account.
An admin on your TikTok Ads account authorizes the connection via OAuth 2.0. No shared passwords, no service accounts with excess permissions. IT controls it, and it can be revoked from either side. Cezium Ads stores no customer data.

Step 2: Create an audience from a Data Extension.
Inside SFMC, you select the Data Extension that defines your segment. This can be any DE — a Journey Builder exit audience, a high-LTV segment, a suppression list. You map your identifier fields (email, phone, or mobile ad IDs) to the TikTok schema.

Step 3: Hashing happens inside your instance.
When you create the audience, Cezium Ads generates an automation inside your own Marketing Cloud instance that SHA-256 hashes the identifiers before anything leaves your environment. Hashed data is pushed to TikTok. No raw PII ever leaves your MC instance.

Step 4: Continuous sync — no manual steps.
The automation runs on an ongoing basis. When a contact enters your Data Extension, they appear in the TikTok audience. When a contact is removed — because they opted out, were deleted, or the segment logic changed — they are removed from the audience on the next sync. No CSVs, no manual re-uploads, no stale lists.

Step 5: Journey Builder activity.
For use cases where you want to add or remove contacts from a TikTok audience as a step inside a Journey, there is a native Journey Builder activity. A customer reaches the suppression branch of your post-purchase journey and gets removed from your prospecting audience in TikTok — automatically, in the same journey logic you already manage.

There is a full audit trail of every sync, every audience push, and every removal.

TikTok-specific gotchas worth knowing

Audience size minimums. TikTok enforces minimum audience sizes before custom audiences become usable for targeting. If you are syncing a small VIP segment, confirm it crosses the threshold before building a campaign around it.

Mobile ad IDs are time-sensitive. IDFAs and GAIDs are useful when you have app data, but they expire as users reset their advertising IDs. If your SFMC Data Extension is pulling from a mobile engagement data source, check how fresh those IDs are before treating them as primary match keys.

Lookalike quality depends on seed quality. If you are seeding a lookalike from a custom audience, the quality of the lookalike correlates with the homogeneity and size of the seed. A lookalike seeded from your top-decile email engagers will outperform one seeded from your entire email list — not because of anything TikTok-specific, but because lookalike algorithms work better with coherent seeds.

Hashing format matters. TikTok requires SHA-256. Normalization before hashing — lowercase for email, E.164 for phone — is non-negotiable. Getting this wrong produces zero matches with no error message. The in-instance automation handles this correctly; if you are doing it manually, double-check your preprocessing step.

For more on match rate mechanics and hashing correctness, see this post on improving ad match rates and the customer match hashing explainer.

FAQ

Can I use Salesforce Marketing Cloud to build TikTok Ads audiences without exporting data?
Yes. With Cezium Ads installed, you define the audience from a Data Extension inside SFMC. Hashing happens inside your instance, and only hashed data is pushed to TikTok. No export, no CSV, no data leaving your governance boundary in raw form.

How does TikTok match my customer list?
TikTok compares your hashed identifiers against hashed identifiers in their user graph. Match rates depend on the platform's coverage for your audience and how many keys you provide per record. Email alone is a valid starting point; adding phone and mobile ad IDs where available improves coverage. The match rate is determined by TikTok's identity graph, not by the method you used to upload.

What happens when a contact opts out or is deleted from my Data Extension?
With continuous sync via Cezium Ads, that contact is removed from the TikTok audience on the next sync cycle. With the manual CSV method, nothing happens until someone notices and re-uploads — which may be never.

Was TikTok ever supported in Salesforce Advertising Studio?
No. TikTok was not among Advertising Studio's supported destinations. Teams that needed TikTok audience activation from SFMC were always doing it via manual export or a third-party integration outside the native SFMC toolchain.

Ready to transform your CRM audience activation?

Join marketers who've simplified their workflow with Cezium Ads