Skip to main content
Square Online → TikTokIntegration guide

Connecting Square Online to TikTok Events API

Square Online orders settle into the same Square account as the card taken at the counter, which is a genuine advantage: the online and in-person halves of the business are already denominated in one ledger. TikTok's audience skews to exactly the browsers and app contexts where browser-side tracking performs worst. The join between them succeeds or fails on one thing: whether the ttclid reaches the Square Online order before the conversion happens, because TikTok can only match a conversion it can tie back to a click it recognizes.

Free30 minutesNo obligation

Specific to this pair

Square Online to TikTok: food and retail orders from the app

Send CompletePayment for online-channel Square orders, valued net of tips and tax, with the order ID as event_id shared with any confirmation pixel. If you control your own landing site, store the ttclid there and pass it to the store. Always include hashed email and phone, since the ttclid is often missing, and never send walk-in sales.

TikTok sends local food and retail traffic through its in-app browser, straight to a Square Online store that is often on a Square-provided domain. The ttclid lands on that domain, so if you do not control scripts there, there is little chance to store it; check what tracking settings your Square Online plan offers, including whether a TikTok pixel can be added. If your ads point to your own site first, store the ttclid server-side there and pass it in the link to the store.

Send CompletePayment from Square transactions filtered to the online channel, at the order total net of tips and tax, with the order ID as event_id. Expect the ttclid to be missing on many orders, so send hashed email and phone from the Square order every time; for pickup and delivery orders the phone number is usually present even when the email is not. If a pixel fires on the order confirmation page, it must send the same event_id.

The TikTok-specific failure for Square sellers is assuming the ad worked because the shop got busy. A viral post can fill the counter for a week, and none of those walk-in sales should be sent to TikTok. Keep TikTok's reported purchases to online orders and look at counter sales on TikTok-heavy days as a separate, unattributed comparison.

Square Online → TikTok · what breaks

Why this join usually fails — Square Online → TikTok

  1. 01

    The ttclid never reaches Square Online

    Square Online sites are frequently on a Square-provided domain, and checkout may hand off to Square-hosted payment pages depending on configuration.

  2. 02

    Counter sales counted as online conversions

    The convenience of one ledger is also the trap. If the sales channel is not filtered, every card swipe at the register lands in your ad reporting as a conversion you paid for.

  3. 03

    The ttclid is lost in the in-app browser

    TikTok traffic arrives through an in-app webview whose storage behavior is inconsistent. An identifier captured but not immediately persisted server-side often is not there by the time the conversion happens.

  4. 04

    Nothing reconciles afterwards

    TikTok Events Manager shows received events and their match status. As with Meta, arriving is not the test — deduplicated and matched is. Reconcile TikTok's reported conversions against the source system for the same window.

Square Online → TikTok · the fix

What working looks like — Square Online → TikTok

  • The ttclid on every order

  • Conversions arriving in TikTok

    Events appear in TikTok Events Manager, deduplicated against the pixel, and become usable for optimization.

  • Reconciled against the source

Square Online → TikTok · architecture

How Square Online and TikTok actually connect

  1. 1

    Square Online holds the truth

    The filter is the whole job. Square's default reporting cheerfully sums counter sales and online orders, and that total is not something any ad platform should be optimizing toward.

  2. 2

    TikTok Events API needs a click to match

    TikTok matches server events using ttclid where available, falling back to hashed contact information. Both should be sent — the fallback is what carries the events where the click ID did not survive.

  3. 3

    The identifier is the bridge

    The ttclid, captured at the visit and carried into the Square Online order.

  4. 4

    The event source decides reliability

    Send net of tips and taxes. Tips on food orders are substantial and are not your revenue.

  5. 5

    Deduplication at the destination

    TikTok deduplicates on event_id, the same pattern as Meta: the pixel and the Events API must send the same event_id for the same conversion. Mismatched IDs mean double counting.

Square Online → TikTok · normal or broken

Working vs. broken, side by side — Square Online → TikTok

Normal, not a fault

  • The ttclid present on the order

  • Sent from the Square transaction record

  • Deduplicated correctly

    TikTok deduplicates on event_id, the same pattern as Meta: the pixel and the Events API must send the same event_id for the same conversion. Mismatched IDs mean double counting.

  • Reconciles with the source

Actually broken

  • The ttclid missing on most records

    Square Online sites are frequently on a Square-provided domain, and checkout may hand off to Square-hosted payment pages depending on configuration.

  • Sent from the browser

    The convenience of one ledger is also the trap. If the sales channel is not filtered, every card swipe at the register lands in your ad reporting as a conversion you paid for.

  • Counted twice, or not at all

    TikTok traffic arrives through an in-app webview whose storage behavior is inconsistent. An identifier captured but not immediately persisted server-side often is not there by the time the conversion happens.

  • Nobody has reconciled it

Square Online → TikTok · diagnose

Diagnostic order — Square Online → TikTok

  1. 01

    Count orders carrying the ttclid

  2. 02

    Follow one real conversion end to end

  3. 03

    Filter by sales channel and re-check the total

    Compare the filtered online total against Square Online's own order count. If they disagree, the filter is wrong before the tracking is.

  4. 04

    Measure ttclid capture rate on TikTok traffic specifically

    Not on all traffic. TikTok's in-app browser is the failure case, so a healthy overall capture rate can hide a poor one on exactly the traffic that matters.

  5. 05

    Read the match rate, not the success message

    TikTok Events Manager shows received events and their match status. As with Meta, arriving is not the test — deduplicated and matched is. Reconcile TikTok's reported conversions against the source system for the same window.

Square Online → TikTok · prove

How it gets proven — Square Online → TikTok

Source of truth

Square transactions filtered to the online sales channel, by location.

  • The ttclid confirmed present on a live order.
  • Deduplication confirmed in Events Manager, and ttclid capture rate measured on TikTok traffic specifically.
  • Online-channel transactions reconciled against imported conversions for a settled week.

Square Online → TikTok · free audit

What we check in the free audit

  • Count orders carrying the ttclid
  • Follow one real conversion end to end
  • Filter by sales channel and re-check the total
  • Measure ttclid capture rate on TikTok traffic specifically
  • Read the match rate, not the success message

Checked against

Square transactions filtered to the online sales channel, by location.

Get my free conversion tracking audit

Free30 minutesNo obligation

Square Online → TikTok · when not to buy

When you don't need this — Square Online → TikTok

  • Measure identifier coverage yourself first — pull your last hundred orders and count how many carry the ttclid.
  • If Square Online is a small side channel next to your counter business, measure it on order count and do not build an import for it.
  • If TikTok is a small share of spend, the effort is hard to justify. It pays when TikTok is a channel you are actively scaling.

Square Online → TikTok · what we deliver

What gets built — Square Online → TikTok

  • Identifier capture into Square Online

    Persist the identifier in first-party storage on your own domain before the handoff, and reattach it to the order at the point the transaction is written.

  • Event source: the Square transaction record

    Send net of tips and taxes. Tips on food orders are substantial and are not your revenue.

  • Dispatch to TikTok

    Server events to the TikTok Events API with the ttclid, hashed contact information and a matching event_id.

  • Reversals where they exist

    Refunds appear in Square as their own records and should be sent as reversals.

Written guarantee

95%+ tracking accuracy

Measured against Square transactions filtered to the online sales channel, by location.. Miss it and we keep working at no cost.

Get my free conversion tracking audit

From $400 · See packages

FAQ

Square Online → TikTok questions, answered

Check the tracking or integrations settings in your Square Online dashboard for your plan. Either way, send CompletePayment from online-channel Square orders through the Events API with hashed email and phone.

Free · 30 min

Get Square Online and TikTok joined properly

Free30 minutesNo obligation