How to Integrate TikTok SDK to Track App Events (With or Without MMP)

Install TikTok SDK on Android/iOS, with or without MMPs like Adjust. Track in-app events to improve ROAS.
Share on social media

📚 Quick Navigation

How to Integrate TikTok SDK to Track App Events (With or Without MMP)

Why TikTok SDK Integration Matters

As TikTok becomes a dominant platform for mobile user acquisition, precise event tracking is essential. The TikTok SDK lets you attribute installs, send post-install events like purchases or subscriptions, and optimize campaigns based on real-time data.

Without proper integration, you're flying blind. TikTok won’t receive enough signals to optimize your campaigns, lowering your ROAS and ad efficiency.

SDK Integration Without an MMP

If you don’t use a Mobile Measurement Partner (MMP), TikTok allows direct SDK integration. While MMPs offer advanced attribution, direct integration still enables ROAS optimization by sending key in-app events.

Android

👉 TikTok Android SDK Docs

implementation 'com.tiktok.ads:tiktok-ads-sdk:latest.version'

Initialize in Application.java:

TTAdSdk.init(this, new TTAdConfig.Builder()
    .appId("YOUR_APP_ID")
    .useTextureView(true)
    .build());
TikTokAdEvent event = new TikTokAdEvent("purchase");
event.setValue(19.99);
event.setCurrency("USD");
TikTokAdSdk.trackEvent(event);

💡 Always include value and currency to enable TikTok’s ROAS optimization algorithms.

iOS

👉 TikTok iOS SDK Docs

pod 'TikTokBusinessSDK'
TTAdSdk.initialize(withAppId: "YOUR_APP_ID")
let event = TikTokAdEvent(name: "purchase")
event.value = 19.99
event.currency = "USD"
TikTokAdSdk.track(event)

SDK Integration With an MMP

MMPs like Adjust and AppsFlyer centralize attribution across channels. Integrating TikTok through your MMP ensures accurate revenue tracking, deduplication of installs, and advanced audience segmentation for campaign scaling.

Adjust

👉 Adjust Docs

AdjustEvent event = new AdjustEvent("abc123");
event.setRevenue(19.99, "USD");
Adjust.trackEvent(event);

AppsFlyer

👉 AppsFlyer Docs

Map<String, Object> eventValues = new HashMap<>();
eventValues.put(AFInAppEventParameterName.REVENUE, 19.99);
eventValues.put(AFInAppEventParameterName.CURRENCY, "USD");


AppsFlyerLib.getInstance().logEvent(getApplicationContext(),
    AFInAppEventType.PURCHASE, eventValues);
---
✅ Thanks! The full article is now unlocked.
Most popular