Your TikTok ads have been running for a week, Ads Manager shows 0 conversions, and you're about to switch them off. Wait ten minutes first.
The short answer: many "failing" TikTok campaigns are actually measurement problems. TikTok can't see the booking, so it reports nothing and can't learn who to show your ads to. The five checks below tell you which one you have: an ad problem or a tracking problem.
We've seen both sides of this. For a US salon running five ad platforms, broken attribution once made TikTok look like it under-performed while its bookings were being credited to Meta. The full story is in our attribution case study.
Check 1: did anyone actually book? (2 minutes)
Start with the obvious. Look at your calendar for the days the campaign ran:
- Any new clients you don't recognize?
- Any bookings at odd times, like late evening when people scroll TikTok?
Then ask. Add "How did you hear about us?" to your booking form or ask at the front desk. If several new clients say "TikTok" while Ads Manager shows zero, the ads work and the tracking doesn't.
Check 2: is it too early? (1 minute)
A new campaign needs time and budget to find people. Zero conversions on day one usually just means nobody booked yet. Before judging, make sure the campaign has run at least a week with enough budget for a handful of bookings at your normal cost per client.
Check 3: can TikTok see a booking at all? (4 minutes)
This is the test that settles it. In TikTok Ads Manager, go to Tools → Events → your pixel → Test events, and follow the instructions to open your site in test mode. Then:
- Click through to your site and book a test appointment the way a client would.
- Watch the test events screen.
- Cancel the test appointment afterwards.
If the booking shows up, tracking works for that path. If you only see page views and nothing when you book, TikTok is blind to your bookings.
The most common reason for salons: the booking happens inside a widget from your booking software, such as Boulevard, running on its own domain. TikTok's pixel sits on your website and can't see inside it. We explain it in plain language in why your Facebook ads show 0 bookings when you use Boulevard. TikTok has exactly the same blind spot.
Check 4: what is the campaign optimizing for? (2 minutes)
Open the ad group and look at the optimization event. If it's set to a booking or purchase event that TikTok never receives (see check 3), the algorithm has nothing to learn from. It will spend your budget, show ads to cheap but random viewers, and report no results.
If tracking can't see bookings yet, it's better to optimize for something TikTok can see, like clicks to your booking page, while you fix the tracking.
Check 5: are the numbers there, just elsewhere? (1 minute)
Sometimes conversions exist but aren't where you're looking:
- The wrong columns. Add the "Conversions" or your booking event column to the Ads Manager view.
- The attribution window. Someone who saw an ad and booked several days later may fall outside a short window.
- Old event names. TikTok renamed "Submit Form" to "Lead" and "Complete Payment" to "Purchase". Old setups keep working and show under the new names.
Reading the results
| What you found | What it means | What to do |
|---|---|---|
| Clients say "TikTok", test booking not seen | Ads work, tracking is blind | Fix tracking first (server-side) |
| Test booking seen, no real bookings after a fair test | Tracking works, campaign doesn't | Change creative, offer or audience |
| Test booking not seen, nobody mentions TikTok | Can't tell yet | Fix tracking, then judge the ads |
| Conversions exist in other columns or windows | Reporting view issue | Adjust the columns and window |
What to ask your agency or developer
- Does TikTok receive our bookings from a server (the Events API), or only from the pixel?
- Can you show me a test booking arriving in TikTok's test events tool?
- Which event is the campaign optimizing for, and does TikTok actually receive it?
- How do we know a booking came from TikTok and not from Meta?
If the answers are vague, the tracking is probably the problem. For the technical side, share our TikTok Events API guide with your developer.

