Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.upstackdata.com/llms.txt

Use this file to discover all available pages before exploring further.

Destinations are the ad platforms and marketing tools that receive event data from Upstack Data. When a customer interacts with your Shopify store — viewing a product, adding to cart, completing a purchase — Upstack captures that event, enriches it with identity data, and delivers it to your connected destinations through their server-side APIs.
Destinations are how Upstack pushes data out to your ad platforms and marketing tools. If you’re looking for how Upstack pulls reporting data in (ad spend, campaign structure, orders), see Sources.

How destinations work

Every destination follows the same core flow:
1

A customer action occurs on your Shopify store

A page view, product view, add-to-cart, checkout initiation, or purchase happens on your storefront.
2

Upstack captures the event

The event enters Upstack’s server-side pipeline, which runs independently of the customer’s browser.
3

Identity resolution enriches the event

Upstack’s identity engine adds available customer identifiers — hashed email, phone number, name, IP address, user agent, ad platform click IDs (fbclid, gclid, ttclid), and browser fingerprint data. This enrichment is what makes server-side tracking through Upstack more effective than browser-only pixel tracking.
4

The enriched event is delivered to each destination

Events are sent via each platform’s server-side API (Meta CAPI, Google Ads offline conversions, TikTok Events API, and others). See Conversion API forwarding for technical detail.
5

The destination matches the event to a user

Using the identity parameters Upstack attached, the platform matches the conversion to a user in its system, which improves attribution accuracy and ad optimization.
Because this happens server-side, it’s not affected by browser ad blockers, cookie restrictions, or iOS tracking limitations that degrade browser-only pixel tracking.

Available destinations

Upstack supports the following destinations. Click any destination for a full setup guide.

Meta CAPI

Send Purchase, AddToCart, ViewContent, InitiateCheckout, and custom events to Facebook and Instagram via the Conversions API.

Google Ads

Forward purchase and conversion events via Offline Conversions and Enhanced Conversions for Smart Bidding.

TikTok

Send funnel events to TikTok via the Events API for conversion-optimized campaigns.

Klaviyo

Sync browse, cart, and purchase events to power Klaviyo flows and segments.

Pinterest

Send conversion events via the Pinterest Conversions API.

Snapchat

Send conversion events via the Snapchat Conversions API.

Omnisend

Sync customer events and profiles to Omnisend for email/SMS automation and abandonment flows.

Webhooks

Deliver raw event payloads to any HTTP endpoint for custom integrations and data warehouses.

What each destination receives

DestinationAPI usedEvents sentIdentity data sent
Meta CAPIConversions APIPurchase, AddToCart, ViewContent, InitiateCheckout, PageView, custom events (nc_purchase, rc_purchase)Hashed email (em), phone (ph), name (fn/ln), IP, user agent, fbclid, fbp, external ID
Google AdsOffline / Enhanced ConversionsPurchase, conversion eventsgclid, hashed email, hashed phone
TikTokEvents APIPurchase, AddToCart, ViewContent, CompletePayment, funnel eventsHashed email, phone, IP, user agent, ttclid
PinterestConversions APIPurchase, AddToCart, ViewContent, CheckoutHashed email, click ID, IP, user agent
KlaviyoKlaviyo APIBrowse, cart, purchase eventsEmail, customer properties (name, location), event metadata
SnapchatConversions APIPurchase, conversion eventsHashed email, phone, IP, click ID
OmnisendOmnisend APIBrowse, cart, purchase eventsEmail, customer properties, event metadata
WebhooksCustom HTTPAny configured eventFull enriched event payload
GA4 is no longer a supported destination for new connections and is being deprecated. Use Google Ads for ad-platform conversion forwarding.

How Upstack enriches data before sending

The key advantage of Upstack over direct pixel tracking is the enrichment that happens before data reaches your destinations:
  • Identity resolution stitches sessions across devices and browsers. If a customer clicks a Facebook ad on their phone and later purchases on their laptop, Upstack can connect those sessions and send the complete identity data with the purchase event.
  • Click ID persistence ensures ad platform click IDs (fbclid, gclid, ttclid) are captured and stored server-side, surviving browser cookie expiration and cross-session navigation.
  • Customer data enrichment pulls additional customer data from Shopify (email, phone, address) and attaches it to events when available, increasing the number of identity parameters sent to each platform.
This enrichment is why Upstack typically delivers higher Event Match Quality scores and better ad platform attribution than browser-only tracking.

How to check if a destination is working

In the destination platform

  1. Go to Facebook Events Manager.
  2. Select your pixel.
  3. Look for events labeled Server in the connection method column — these are events received via CAPI from Upstack.
  4. Check Event Match Quality (EMQ) scores for each event type.
See Why is my Meta EMQ panel showing zeros? if EMQ shows 0.0.
  1. Go to TikTok Events Manager.
  2. Select your pixel.
  3. Filter for Server events to see data coming through the Events API.
  1. Go to Klaviyo → Analytics → Metrics.
  2. Look for events like Started Checkout or Viewed Product that show Upstack as the source or integration.

Common issues and troubleshooting

  • Wait at least 1–2 hours. Some platforms have a delay between receiving events and displaying them.
  • Verify your pixel/conversion ID. An incorrect ID means events are being sent to the wrong pixel or rejected.
  • Check API permissions. Each destination requires specific permissions. If permissions have changed or expired, events will fail to deliver.
  • Check identity parameters. Low EMQ usually means events are missing key identity fields like email or phone. Verify that your Shopify checkout collects this information.
  • Review click ID capture. If fbclid or gclid aren’t being captured, match rates will be lower for users who clicked an ad. Ensure Upstack’s tracking script is properly installed.
If you have both Upstack sending server-side events and a browser pixel sending the same events, the ad platform may see duplicates. Upstack uses event deduplication IDs to prevent this, but you may need to disable Shopify’s built-in data sharing to avoid conflicts.
Platform tokens can expire. If a destination stops working after previously working correctly, try disconnecting and reconnecting it from the destinations page in your Upstack dashboard.

Frequently asked questions

You should set up a destination for every platform where you want Upstack’s enriched server-side data flowing. If you advertise on Meta and Google but not TikTok, connect Meta and Google. You can always add TikTok later.
Upstack sends events server-side alongside your existing browser-side pixel. Platforms use event deduplication to avoid double-counting. However, you should disable Shopify’s built-in data sharing (the native Facebook/Google integrations) to avoid conflicts, as Upstack replaces that functionality with better-enriched data.
Events typically begin flowing within minutes of connecting a destination. It can take up to 24 hours for the destination platform’s reporting to fully reflect the incoming data, and EMQ scores from Meta take 24–48 hours to calculate.
Yes. Disconnecting a destination stops Upstack from sending future events to that platform. Historical data already sent remains in the destination platform. You can reconnect at any time to resume event delivery.

Destinations overview

See every supported destination and its configuration options.

Sources overview

Learn how Upstack pulls data in for reporting and attribution.

Conversion API forwarding

How Upstack delivers high-match-quality events to ad platforms.

Server-side tracking

Why server-side delivery beats browser pixels for ad measurement.

Connect a destination

Step-by-step setup for your first destination.