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

# upsell_purchase Event

> Track upsell conversions — automatically generated by Upstack

<Info>
  **Automatically Generated** — This event is created by Upstack backend services for Shopify customers. You do not need to fire this event manually.
</Info>

## Overview

The `upsell_purchase` event is generated when Upstack detects a purchase that resulted from an upsell opportunity. This event helps you measure the effectiveness of upsell campaigns, post-purchase offers, and cross-sell strategies.

## How It Works

Upstack analyzes purchase patterns to identify upsell conversions:

1. **Order received** — Shopify sends a purchase webhook to Upstack
2. **Upsell detection** — Upstack checks for upsell indicators (multiple items, upgraded variants, post-purchase additions)
3. **Event generation** — If upsell criteria are met, an `upsell_purchase` event is generated
4. **Forwarding** — The event is sent to your configured destinations

### Upsell Classification

A purchase is classified as an upsell when:

* The order contains items added through post-purchase offers
* The customer upgraded to a higher-tier product variant
* The order includes cross-sell items from upsell campaigns
* The purchase occurred during a returning customer's session with additional items beyond their typical basket

## Properties

This event includes all properties from the original `purchase` event:

| Property | Type   | Description                              |
| -------- | ------ | ---------------------------------------- |
| orderId  | string | Shopify order ID                         |
| value    | number | Order total value                        |
| currency | string | ISO 4217 currency code (e.g., `USD`)     |
| items    | array  | Products purchased                       |
| email    | string | Customer email (hashed for destinations) |
| phone    | string | Customer phone (hashed for destinations) |

## Destination Mapping

This event is forwarded to destinations as:

| Destination           | Event Name        | Notes                              |
| --------------------- | ----------------- | ---------------------------------- |
| **Meta CAPI**         | `Purchase`        | With `upsell: true` in custom data |
| **Google Ads**        | `purchase`        | Filterable by event name           |
| **TikTok Events API** | `CompletePayment` | Upsell flag included               |
| **Klaviyo**           | `Placed Order`    | Tagged as upsell                   |
| **GA4**               | `purchase`        | Custom dimension for upsell        |

## Use Cases

* **Measure upsell effectiveness** — Track how often upsell offers convert and their revenue impact
* **Optimize upsell timing** — Identify which campaigns or touchpoints drive the most upsell conversions
* **Calculate upsell ROI** — Compare ad spend to upsell revenue for campaign optimization
* **A/B test offers** — Measure which upsell offers perform best by tracking conversion rates

## Metrics Available

In the Upstack dashboard, you can view:

| Metric                   | Description                            |
| ------------------------ | -------------------------------------- |
| Upsell Purchases         | Total number of upsell purchase events |
| Cost per Upsell Purchase | Average ad spend per upsell conversion |
| Upsell Purchase Value    | Total revenue from upsell purchases    |

## Related Events

* [purchase](/pixel/standard-events#purchase) — The base purchase event
* [rc\_purchase](/pixel/events/upstack-generated/rc-purchase) — Returning customer purchases
* [all\_purchase](/pixel/events/upstack-generated/all-purchase) — All purchases
* [AOV Events](/pixel/events/upstack-generated/aov-events) — Purchase segmentation by order value
