π Launching Open Source: TikTok Pixel & Server-Side Events API Extension for Adobe Experience Platform Tags!
Tracking online conversions reliably in 2026 isn't as simple as dropping a JavaScript snippet into the <head> of a site anymore. With browser privacy restrictions, ad blockers, and ITP, relying solely on client-side tracking leads to missing data, inaccurate attribution, and wasted ad spend.
To bridge this gap, Iβve built an open-source Adobe Experience Platform (AEP) Tags extension that combines TikTok Client-Side Pixel tracking with the TikTok Events API (Server-Side Conversion API)βand today, I'm opening up the project for community contributions and funding!
π‘ What Makes This Extension Unique?
Building a production-ready tag management extension requires handling client-side execution, data transformation, privacy, and server API calls seamlessly.
-
Dual-Track Client & Server Sync: Fires both
ttq.trackin the browser and a server-side payload to TikTokβs Business API concurrently. -
Built-in Event Deduplication: Automatically generates RFC 4122 v4 UUID
event_ids shared between client and server hits so TikTok never double-counts conversions. -
Privacy-First PII Normalization: Uses the browser's native Web Crypto API (
crypto.subtle) to normalize and SHA-256 hash sensitive user identifiers (email, phone, external ID) client-side before sending. -
Single Page Application (SPA) Support: Built-in History API observers (
pushState/replaceState/popstate) to handle modern JS framework route changes out of the box. - Non-Blocking Execution & Fail-safes: Built-in script loading timeouts (5s) and API request timeouts (10s) ensuring your Adobe Tags rule execution chain never halts if a network issue occurs.
-
On-Screen Visual Debugger: An interactive debug badge and detailed console logger when running in
debugMode.
ποΈ Architecture at a Glance
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ADOBE LAUNCH RUNTIME β
β β
β ββββββββββββββββββββββββ ββββββββββββββββββββββββ β
β β Global Extension β β Event / Rule Trigger β β
β β Settings β β (e.g. AddToCart) β β
β ββββββββββββ¬ββββββββββββ ββββββββββββ¬ββββββββββββ β
β β β β
β βΌ βΌ β
β ββββββββββββββββββββββββ ββββββββββββββββββββββββ β
β β loadPixel.js β β trackEvent.js β β
β β Inject ttq snippet β β Resolve Data Elementsβ β
β ββββββββββββ¬ββββββββββββ ββββββββββββ¬ββββββββββββ β
β β β β
β β βββββββββββ΄βββββββββββ β
β β β Generate UUID v4 β β
β β β Shared Event ID β β
β β βββββββββββ΄βββββββββββ β
β β β β
β β ββββββββββββββββββββββ΄βββββββββββββββββββββ β
β β β β β
β βΌ βΌ βΌ β
β ββββββββββββββββββββββββ βββββββββββββββββββββββββββ β
β β CLIENT-SIDE DISPATCH β β SERVER-SIDE PREPARATION β β
β β ttq.track(...) β β sha256(email/phone) β β
β ββββββββββββ¬ββββββββββββ ordering ββββββββββββββ¬βββββββββββββ β
β β β β
ββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββ
β β
βΌ βΌ
ββββββββββββββββββββββββ βββββββββββββββββββββββββββ
β TikTok Pixel SDK β β TikTok Events API β
β (analytics.tiktok) β β (business-api.tiktok) β
ββββββββββββββββββββββββ βββββββββββββββββββββββββββ
π Why We are Seeking Funding & Community Support
Maintaining enterprise-grade analytics software requires continuous updates to stay compliant with privacy laws (GDPR/CCPA), changes in TikTokβs API specifications, and updates to Adobe Experience Platform SDKs.
We are opening up GitHub Sponsors / Open Collective funding to help achieve the following roadmap goals:
- π Official Adobe Exchange Listing: Submitting and verifying the extension on the Adobe Exchange App Marketplace.
- β‘ Server-Side AEP Tags Support: Developing an official server-side AEP Tags extension version running natively on Adobe Edge Network / Event Forwarding.
- π§ͺ E2E Testing Pipeline: Expanding our Jest test suite to include automated browser integration tests.
- π Documentation & Guides: Creating step-by-step setup tutorials and video walkthroughs for martech and tracking engineers.
π οΈ How You Can Help
- Star the Repository: Show your support on GitHub!
-
Try it Out: Test the extension in your Adobe Tags Sandbox environment using
@adobe/reactor-sandbox. - Sponsor the Project: Become a backer on GitHub Sponsors or Open Collective to support ongoing maintenance and feature development.
- Contribute: Check out our open issues for feature requests, bug reports, or docs improvements!
Links & Resources:
- π GitHub Repository: github.com/bhkbdbhatt/tiktok-pixel-extension
- π Sponsor Project: https://patreon.com/BhargavBhatt
- π¬ Feedback & Discussion: Drop a comment below!
What challenges are you facing with server-side event tracking? Let's discuss in the comments below!
Top comments (0)