> ## 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.

# What are destinations in Upstack Data?

> Destinations are the ad platforms and marketing tools where Upstack Data sends conversion events server-side. Learn what they do and which platforms are supported.

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.

<Tip>
  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](/sources/overview).
</Tip>

## How destinations work

Every destination follows the same core flow:

<Steps>
  <Step title="A customer action occurs on your Shopify store">
    A page view, product view, add-to-cart, checkout initiation, or purchase happens on your storefront.
  </Step>

  <Step title="Upstack captures the event">
    The event enters Upstack's server-side pipeline, which runs independently of the customer's browser.
  </Step>

  <Step title="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](/concepts/server-side-tracking) through Upstack more effective than browser-only pixel tracking.
  </Step>

  <Step title="The enriched event is delivered to each destination">
    Events are sent via each platform's server-side API ([Meta CAPI](/destinations/meta-capi), [Google Ads](/destinations/google-ads) offline conversions, [TikTok](/destinations/tiktok) Events API, and others). See [Conversion API forwarding](/concepts/conversion-api-forwarding) for technical detail.
  </Step>

  <Step title="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.
  </Step>
</Steps>

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.

<CardGroup cols={2}>
  <Card title="Meta CAPI" icon="meta" href="/destinations/meta-capi">
    Send Purchase, AddToCart, ViewContent, InitiateCheckout, and custom events to Facebook and Instagram via the Conversions API.
  </Card>

  <Card title="Google Ads" icon="google" href="/destinations/google-ads">
    Forward purchase and conversion events via Offline Conversions and Enhanced Conversions for Smart Bidding.
  </Card>

  <Card title="TikTok" icon="tiktok" href="/destinations/tiktok">
    Send funnel events to TikTok via the Events API for conversion-optimized campaigns.
  </Card>

  <Card title="Klaviyo" icon="envelope" href="/destinations/klaviyo">
    Sync browse, cart, and purchase events to power Klaviyo flows and segments.
  </Card>

  <Card title="Pinterest" icon="pinterest" href="/destinations/pinterest">
    Send conversion events via the Pinterest Conversions API.
  </Card>

  <Card title="Snapchat" icon="snapchat" href="/destinations/snapchat">
    Send conversion events via the Snapchat Conversions API.
  </Card>

  <Card title="Omnisend" icon="envelope-open-text" href="/destinations/omnisend">
    Sync customer events and profiles to Omnisend for email/SMS automation and abandonment flows.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/destinations/webhooks">
    Deliver raw event payloads to any HTTP endpoint for custom integrations and data warehouses.
  </Card>
</CardGroup>

### What each destination receives

| Destination    | API used                       | Events sent                                                                                                | Identity data sent                                                                                |
| -------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Meta CAPI**  | Conversions API                | Purchase, 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 Ads** | Offline / Enhanced Conversions | Purchase, conversion events                                                                                | `gclid`, hashed email, hashed phone                                                               |
| **TikTok**     | Events API                     | Purchase, AddToCart, ViewContent, CompletePayment, funnel events                                           | Hashed email, phone, IP, user agent, `ttclid`                                                     |
| **Pinterest**  | Conversions API                | Purchase, AddToCart, ViewContent, Checkout                                                                 | Hashed email, click ID, IP, user agent                                                            |
| **Klaviyo**    | Klaviyo API                    | Browse, cart, purchase events                                                                              | Email, customer properties (name, location), event metadata                                       |
| **Snapchat**   | Conversions API                | Purchase, conversion events                                                                                | Hashed email, phone, IP, click ID                                                                 |
| **Omnisend**   | Omnisend API                   | Browse, cart, purchase events                                                                              | Email, customer properties, event metadata                                                        |
| **Webhooks**   | Custom HTTP                    | Any configured event                                                                                       | Full enriched event payload                                                                       |

<Note>
  GA4 is no longer a supported destination for new connections and is being deprecated. Use Google Ads for ad-platform conversion forwarding.
</Note>

## 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

<AccordionGroup>
  <Accordion title="Meta (Facebook / Instagram)">
    1. Go to [Facebook Events Manager](https://business.facebook.com/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?](/guides/facebook-ads/why-is-my-meta-emq-panel-showing-zeros-0-0-10) if EMQ shows 0.0.
  </Accordion>

  <Accordion title="Google Ads">
    1. Go to **Google Ads → Tools & Settings → Conversions**.
    2. Check that your conversion actions show recent conversion data.
    3. Look for the conversion source showing offline/upload data.
  </Accordion>

  <Accordion title="TikTok">
    1. Go to TikTok Events Manager.
    2. Select your pixel.
    3. Filter for **Server** events to see data coming through the Events API.
  </Accordion>

  <Accordion title="Klaviyo">
    1. Go to **Klaviyo → Analytics → Metrics**.
    2. Look for events like Started Checkout or Viewed Product that show Upstack as the source or integration.
  </Accordion>
</AccordionGroup>

## Common issues and troubleshooting

<AccordionGroup>
  <Accordion title="Events aren't appearing in the destination">
    * **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.
  </Accordion>

  <Accordion title="Event Match Quality is low">
    * **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.
  </Accordion>

  <Accordion title="Duplicate events">
    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](/get-started/disable-existing-tracking) to avoid conflicts.
  </Accordion>

  <Accordion title="Permission or authentication errors">
    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.
  </Accordion>
</AccordionGroup>

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Do I need to set up a destination for every ad platform I use?">
    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.
  </Accordion>

  <Accordion title="Does connecting a destination affect my existing pixel tracking?">
    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](/get-started/disable-existing-tracking) (the native Facebook/Google integrations) to avoid conflicts, as Upstack replaces that functionality with better-enriched data.
  </Accordion>

  <Accordion title="How quickly do events start flowing after connecting a destination?">
    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.
  </Accordion>

  <Accordion title="Can I disconnect a destination without losing data?">
    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.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Destinations overview" icon="bullseye-arrow" href="/destinations/overview">
    See every supported destination and its configuration options.
  </Card>

  <Card title="Sources overview" icon="arrow-right-to-bracket" href="/sources/overview">
    Learn how Upstack pulls data **in** for reporting and attribution.
  </Card>

  <Card title="Conversion API forwarding" icon="arrow-right-arrow-left" href="/concepts/conversion-api-forwarding">
    How Upstack delivers high-match-quality events to ad platforms.
  </Card>

  <Card title="Server-side tracking" icon="server" href="/concepts/server-side-tracking">
    Why server-side delivery beats browser pixels for ad measurement.
  </Card>

  <Card title="Connect a destination" icon="plug" href="/get-started/connect-a-destination">
    Step-by-step setup for your first destination.
  </Card>
</CardGroup>
