Skip to content

Supported Destinations

SweetCode Cloud forwards tracking events to thirteen destinations: ten major ad platforms plus Google Analytics 4, Mixpanel and Klaviyo. All destinations are available on every plan, including the free tier. Configuration is automatically synced from Pixel Manager for WooCommerce — you never need to manually enter credentials in the SweetCode Cloud dashboard.

  1. Configure your ad platform destinations in Pixel Manager for WooCommerce (API tokens, pixel IDs, etc.)
  2. Paste your SweetCode Cloud Sync Token into the Pixel Manager settings
  3. Pixel Manager pushes the destination configuration to SweetCode Cloud automatically
  4. Credentials are encrypted with AES-GCM before storage — they’re never visible in the dashboard, only masked previews (e.g. sk-****...7f3a)

When you update credentials or add/remove a destination in Pixel Manager, changes sync automatically. You can also trigger a manual resync from the domain detail page.

Each SSP event type is mapped to the corresponding platform-specific event name:

SSP EventMeta (Facebook)TikTokPinterestSnapchatRedditOpenAINextdoorMicrosoft AdvertisingGoogle GA4MixpanelKlaviyoSpotify AdsAppLovin
PageVisitPageViewPageviewpage_visitPAGE_VIEWPageVisitpage_viewedpage_viewpage_viewpage_viewPage Viewed(not sent)VIEWpage_view
ViewContentViewContentViewContentview_categoryVIEW_CONTENTViewContentcontents_viewedview_contentview_itemview_itemProduct ViewedViewed ProductPRODUCTview_item
SearchSearchSearchsearchSEARCHSearchcustomsearchsearchsearchProducts SearchedSubmitted Search(not sent)search
AddToCartAddToCartAddToCartadd_to_cartADD_CARTAddToCartitems_addedadd_to_cartadd_to_cartadd_to_cartProduct Added to CartAdded to CartADD_TO_CARTadd_to_cart
AddToWishlistAddToWishlistAddToWishlistadd_to_wishlistADD_TO_WISHLISTAddToWishlistcustomadd_to_wishlistadd_to_wishlistadd_to_wishlistProduct Added to WishlistAdded to Wishlist(not sent)(not sent)
PurchasePurchaseCompletePaymentcheckoutPURCHASEPurchaseorder_createdpurchasepurchasepurchaseOrder CompletedPlaced OrderPURCHASEpurchase
LeadLeadSubmitFormleadSIGN_UPLeadlead_createdleadgenerate_leadgenerate_leadLead SubmittedSubmitted LeadLEADgenerate_lead
SignUpCompleteRegistrationCompleteRegistrationsignupSIGN_UPSignUpregistration_completedsign_upsign_upsign_upSigned UpSigned UpSIGN_UPsign_up
CustomCustomEventCustomEventcustomCUSTOM_EVENT_1Customcustomcustom_conversion_1customcustom_eventCustom EventCustom EventCUSTOM_EVENT_1(not sent)

Klaviyo’s PageVisit cell is empty on purpose: klaviyo.js reports Active on Site itself, so the proxy sends no page view to Klaviyo.

Spotify’s Conversions API has no search or wishlist event, so those rows are empty for Spotify. Its CHECK_OUT event has no SSP-canonical counterpart and is sent by Pixel Manager directly.

AppLovin has no wishlist or custom event in its standard set, so those rows are empty for AppLovin. Its begin_checkout, view_cart, remove_from_cart and other events are sent by Pixel Manager directly under the same names the AppLovin pixel uses.

Section titled “AppLovin has no wishlist or custom event in its standard set, so those rows are empty for AppLovin. Its begin_checkout, view_cart, remove_from_cart and other events are sent by Pixel Manager directly under the same names the AppLovin pixel uses.”

API: Facebook Graph API v21.0

SweetCode Cloud sends events to Meta’s Conversions API, which is used by Facebook Ads, Instagram Ads, and the broader Meta advertising ecosystem. Server-side events sent through the Conversions API are matched with browser-side pixel events for improved attribution and deduplication.

| Field | Where to Find It | | --------------- | --------------------- | ---------------------------------------------------------- | | Access Token | Meta Events Manager → Settings → Generate Access Token | | Pixel ID | Meta Events Manager → Data Sources → Your Pixel → Pixel ID |

  • Test Event Code — Used to send events to the Meta Test Events tool for debugging without affecting production data. Found in Events Manager → Test Events.

Each event is sent as a POST request to https://graph.facebook.com/v21.0/{pixelId}/events with the access token as a query parameter. User data (email, IP, user agent, click IDs) is included for advanced matching.


API: TikTok Business API v1.3

SweetCode Cloud forwards events to TikTok’s Events API for server-side ad measurement and optimization. Like Meta, TikTok uses these events alongside browser-side pixel data for improved attribution.

| Field | Where to Find It | | --------------- | --------------------- | ------------------------------------------------------- | | Access Token | TikTok Ads Manager → Assets → Events → Manage → Settings → Generate Access Token | | Pixel ID | TikTok Ads Manager → Assets → Events → Your Pixel ID |

  • Test Event Code — Used to send events in test mode for debugging.

Events are sent as a POST request to https://business-api.tiktok.com/open_api/v1.3/event/track/ with the access token in the Access-Token header.


API: Pinterest API v5

SweetCode Cloud sends conversion events to Pinterest’s API for ad measurement and optimization. Pinterest uses ad account IDs rather than pixel IDs for server-side event delivery.

| Field | Where to Find It | | --------------- | --------------------- | -------------------------------------------------------- | | Access Token | Pinterest Business → Apps → Generate Token | | Ad Account ID | Pinterest Ads Manager → Your ad account ID |

  • Test Event Code — Used to send events in test mode for debugging.

Events are sent as a POST request to https://api.pinterest.com/v5/ad_accounts/{adAccountId}/events with the access token in the Authorization header.


API: Snapchat Conversions API v3

SweetCode Cloud forwards events to Snapchat’s Conversions API for ad attribution and optimization.

| Field | Where to Find It | | --------------- | --------------------- | -------------------------------------------------------- | | Access Token | Snapchat Ads Manager → Business Settings → Generate Token | | Pixel ID | Snapchat Ads Manager → Events Manager → Your Pixel ID |

  • Test Event Code — Used to send events in test mode for debugging.

Events are sent as a POST request to https://tr.snapchat.com/v3/{pixelId}/events with the access token in the Authorization header.


API: Reddit Conversions API v3

SweetCode Cloud sends conversion events to Reddit’s Ads API for campaign measurement and optimization.

| Field | Where to Find It | | --------------- | --------------------- | -------------------------------------------------------- | | Access Token | Reddit Ads → Pixel → Conversions API → Generate Token | | Pixel ID | Reddit Ads → Pixel → Your Pixel ID |

Events are sent as a POST request to https://ads-api.reddit.com/api/v3/pixels/{pixelId}/conversion_events with the access token in the Authorization header.


API: OpenAI Conversions API

SweetCode Cloud sends conversion events to OpenAI’s Ads measurement API for campaign measurement and optimization.

| Field | Where to Find It | | --------------- | --------------------- | -------------------------------------------------------- | | Access Token | OpenAI Ads Manager → Conversions tab → API key | | Pixel ID | OpenAI Ads Manager → Conversions tab → Your pixel ID |

Events are sent as a POST request to https://bzr.openai.com/v1/events?pid={pixelId} with the access token in the Authorization header. Monetary values are sent as integer ISO 4217 minor units (e.g. 12999 for $129.99).


API: Nextdoor Conversion API

SweetCode Cloud sends conversion events to Nextdoor’s Conversion API for campaign measurement and optimization.

FieldWhere to Find It
Access TokenNextdoor Ads Manager → Ads API settings → Generate token
Pixel IDNextdoor Ads Manager → Assets → Pixels → Your pixel ID (a UUID)
Test Event CodeOptional. Any string; flags events as test events in Nextdoor

Events are sent as a POST request to https://ads.nextdoor.com/v2/api/conversions/track with the access token in the Authorization header. Nextdoor accepts one event per request. The pixel ID is sent as data_source_id, and the event timestamp is stamped server-side as event_time_epoch (Unix seconds).

Pixel Manager sends the same event_id to the Nextdoor browser pixel and the Conversion API, so Nextdoor deduplicates the two channels automatically. The Nextdoor click ID (ndclid) is forwarded as customer.click_id for attribution.


API: Spotify Conversions API

SweetCode Cloud sends conversion events to Spotify’s Conversions API for campaign measurement and attribution in Spotify Ad Analytics.

FieldWhere to Find It
Connection IDSpotify Ads Manager → Events → Connect Data Source → Conversions API (a UUID)
Access TokenGenerated next to the connection ID. Spotify allows up to three tokens at a time
Pixel IDSpotify Ad Analytics → Manage → Your Pixels. Used by the browser pixel

Events are sent as a POST request to https://capi.spotify.com/capi-direct/events/ with the access token in the Authorization header. The body wraps the events in a conversion_events object carrying the connection ID, which is what the conversions are attributed to. The connection ID always comes from the synced configuration, never from the forwarded payload.

The event timestamp is stamped server-side as an ISO 8601 string. Spotify is the only destination here that takes a timestamp in that form; the others take a Unix number.

Pixel Manager sends the same event_id to the Spotify browser pixel and the Conversions API, so Spotify deduplicates the two channels. Spotify matches conversions on the hashed email address and publishes no click ID, so the email is sent whenever the Conversions API is configured rather than only under Advanced Matching.


API: AppLovin Axon Conversion API

SweetCode Cloud sends conversion events to the AppLovin Axon Conversion API for campaign measurement and optimization in AppLovin’s Axon Ads Manager.

FieldWhere to Find It
Event KeyAppLovin dashboard, Account > General > Keys. The same key the browser pixel uses
Conversion API KeyAppLovin dashboard, Keys page. If it is not listed there, AppLovin support issues one

Events are sent as a POST request to https://b.applovin.com/v1/event?pixel_id=<event key>, with the Conversion API key as the bare Authorization header value (no Bearer prefix). The body wraps the events in an events array. The event key always comes from the synced configuration, never from the forwarded payload.

The event timestamp is stamped server-side in Unix milliseconds, where most destinations here take seconds.

AppLovin’s pixel and its Conversion API share one GA4-style set of event names (page_view, view_item, add_to_cart, begin_checkout, purchase and so on), so Pixel Manager’s events are forwarded under the names it already uses. Pixel Manager sends the same dedupe_id to the AppLovin pixel and the Conversion API, so AppLovin counts each event once.

AppLovin requires at least one user identifier on every event: the AppLovin pixel’s visitor ID (axwrt), alart, client_id, a user ID, or an email address or phone number. The client IP and user agent do not count. An event that carries none, or that has no event name or source URL, is not sent and shows up in the event log as denied with the reason.


API: Microsoft Advertising Conversions API (UET)

SweetCode Cloud sends conversion events to Microsoft Advertising’s Conversions API, the server-side counterpart of the Universal Event Tracking (UET) tag. It feeds conversion goals, remarketing audiences and dynamic remarketing for Microsoft Advertising and the Microsoft Audience Network.

FieldWhere to Find It
UET Tag IDMicrosoft Advertising → Tools → UET tag → your tag (7 to 9 digits)
Access TokenMicrosoft Advertising → Tools → UET tag → edit the tag → Set up tagging → Use Conversions API → Copy Token

The token is scoped to a single UET tag, so the tag ID and the token always belong together. Both are required before the destination is synced.

Events are sent as a POST request to https://capi.uet.microsoft.com/v1/{tagId}/events with the token in the Authorization header. The UET tag ID is part of the URL, so it is always taken from the synced configuration and never from the event payload. Events are wrapped in a data array with continueOnValidationError set, so one malformed event never takes a whole batch down, and dataProvider identifies Pixel Manager as the sender.

Each event carries eventType: "custom", the UET event name, the shared eventId, a server-side eventTime (Unix seconds), the page context (eventSourceUrl, referrerUrl, pageTitle) and the ecommerce fields Microsoft uses for dynamic remarketing: pageType, itemIds, items, value, ecommTotalValue, ecommCategory, currency and transactionId.

Pixel Manager pushes the same event_id to the UET tag in the browser and to the Conversions API, so Microsoft deduplicates the two channels automatically. The Microsoft click ID (msclkid) is captured on the landing page and forwarded as userData.msclkid, alongside the UET visitor ID (anonymousId), the client IP address and the user agent. With Microsoft Enhanced Conversions enabled, the SHA-256 hashed email and phone number are sent as em and ph.


API: GA4 Measurement Protocol

SweetCode Cloud forwards events to Google Analytics 4 via the Measurement Protocol. Unlike the ad platforms above, GA4 is an analytics destination — events appear in your GA4 property’s reports rather than feeding an ad network’s conversion optimization.

| Field | Where to Find It | | --------------- | --------------------- | --------------------------------------------------------------------------------- | | Measurement ID | GA4 Admin → Data Streams → Your web stream → Measurement ID (looks like G-XXXXXXX) | | API Secret | GA4 Admin → Data Streams → Your web stream → Measurement Protocol API secrets → Create |

Events are sent as a POST request to https://www.google-analytics.com/mp/collect with the Measurement ID and API secret as query parameters.


API: Mixpanel Ingestion API (/track)

SweetCode Cloud forwards purchases to Mixpanel via the Ingestion API. Like GA4, Mixpanel is an analytics destination: events land in your Mixpanel project’s reports rather than feeding an ad network’s conversion optimization.

FieldWhere to Find It
Project TokenMixpanel → Settings → Project Settings → Project Token (32 hexadecimal characters)
Data ResidencyThe region your Mixpanel project lives in: US (default), EU or India

Events are sent as a POST request to https://api.mixpanel.com/track?verbose=1, with the project token inside the event properties. Mixpanel authenticates /track with that token alone, so there is no second credential to configure.

The data residency setting decides which regional host receives the events: api.mixpanel.com for US projects, api-eu.mixpanel.com for EU projects and api-in.mixpanel.com for Indian projects. This matters more than it looks: Mixpanel does not ingest events that reach the wrong region, and it does not report an error either. EU projects have a Mixpanel URL starting with eu.mixpanel.com, Indian projects with in.mixpanel.com.

Event timestamps are stamped server-side as time in Unix milliseconds. Each purchase carries a deterministic $insert_id derived from the WooCommerce order ID, so a retried delivery can never be counted twice. Pixel Manager captures the Mixpanel distinct_id from the browser during checkout and sends it with the purchase, which keeps the server-side order on the same Mixpanel user as the browser events — without it, purchases would land on a separate anonymous user and every funnel ending in a purchase would break.

The customer’s IP address is forwarded as the ip event property, which Mixpanel uses for geolocation and then drops. Without it, Mixpanel would geolocate every proxied event to the Cloudflare edge instead of the customer.


API: Klaviyo Events API (/api/event-bulk-create-jobs)

SweetCode Cloud forwards purchases and their line items to Klaviyo through the Events API. Klaviyo is an email and SMS marketing destination: the events feed the merchant’s flows, segments and revenue reports rather than an ad network’s conversion optimization.

Pixel Manager only syncs this destination while it reports orders to Klaviyo itself, that is with a private key configured and without the official Klaviyo WooCommerce plugin active. With that plugin installed, Klaviyo produces Placed Order from its own order sync of the shop, and Klaviyo does not deduplicate a proxied event against it, so forwarding one would double every order in Klaviyo. Pixel Manager’s onsite Klaviyo events (Viewed Product, Added to Cart, Started Checkout and the rest) go to Klaviyo’s public client endpoint from the browser and never pass through the proxy.

FieldWhere to Find It
Public API KeyKlaviyo → Settings → Account → API keys, the 6 character Site ID
Private API KeyKlaviyo → Settings → Account → API keys, a private key with the Events write scope, starting with pk_

Each order is sent as one bulk event-create job to https://a.klaviyo.com/api/event-bulk-create-jobs: the customer’s profile carrying a Placed Order event plus one Ordered Product event per line item, the same pair Klaviyo’s own WooCommerce integration produces and that its prebuilt flows trigger on. The private key travels in the Authorization header, injected at the edge from the synced configuration and never taken from the payload. Every request is pinned to API revision 2026-07-15.

Every metric carries service: woocommerce. Klaviyo keys its metrics on name plus integration, and that tag puts the proxied events on the same metric Klaviyo’s WooCommerce integration uses instead of a generic API metric of the same name, so a merchant’s flows and segments keep working when the shop later connects that integration.

Event timestamps are stamped server-side as ISO 8601, unlike every epoch-based destination. Each event carries a deterministic unique_id derived from the WooCommerce order ID (pmw_<order_id> and pmw_<order_id>_<item_id>), and Klaviyo keeps only the first event per profile, metric and unique_id, so a retried delivery can never be counted twice. Pixel Manager captures the anonymous Klaviyo identity from the __kla_id cookie during checkout and sends it as _kx next to the billing email, which merges the browsing profile into the customer’s profile. Without it, a server-side order would land on a fresh anonymous profile.

The Events API has no client IP or user agent field on the event, so neither is forwarded.


After connecting your destinations through Pixel Manager and SweetCode Cloud, verify that events are being received by each platform:

  1. SweetCode Cloud Dashboard — Go to the Events page and check that events show a success outcome for each destination
  2. Meta Events Manager — Check the “Server Events” tab for incoming events
  3. TikTok Events Manager — View the event activity in your pixel’s dashboard
  4. Pinterest Conversions — Check the conversion events in your ad account
  5. Snapchat Events Manager — View events under your pixel
  6. Reddit Ads Dashboard — Check the conversions tab in your pixel settings
  7. OpenAI Ads Manager — Check the event activity in the Conversions tab
  8. Nextdoor Ads Manager — Check the event activity under Assets → Pixels
  9. Spotify Ad Analytics — Check the conversion activity under Manage → Your Pixels
  10. AppLovin Axon Ads Manager: check the event activity for your pixel
  11. Microsoft Advertising — Open Tools → UET tag and check the tag status and recent activity, then Conversions for the goal itself
  12. Google Analytics 4 — Open the Realtime report (or DebugView for test traffic) in your GA4 property
  13. Mixpanel — Open Events in your Mixpanel project and filter for Order Completed
  14. Klaviyo — Open Analytics → Metrics in Klaviyo and look for Placed Order with the WooCommerce integration icon, then open a profile’s activity feed to see the order

If events show a failed outcome in SweetCode Cloud, click on the event to see the error message from the destination API. Common issues include expired access tokens and incorrect pixel/account IDs — see the Troubleshooting guide for fixes.