Automatically Generated — These events are created by Upstack backend services for Shopify customers. You do not need to fire these events manually.
Overview
Upstack automatically generates AOV (Average Order Value) segmented purchase events based on your store’s order value distribution. These events help you optimize campaigns for high-value customers and understand the revenue impact of different customer segments.
Event Types
| Event Name | Description |
|---|
high_aov_purchase | Purchase with above-average order value |
low_aov_purchase | Purchase with below-average order value |
p70_aov_purchase | Purchase above the 70th percentile order value |
p80_aov_purchase | Purchase above the 80th percentile order value |
p90_aov_purchase | Purchase above the 90th percentile order value |
How It Works
When a purchase occurs, Upstack calculates AOV thresholds based on your store’s historical order data:
- Order received — Shopify sends a purchase webhook to Upstack
- Threshold calculation — Upstack computes percentile thresholds from your order history
- Classification — The order value is compared against these thresholds
- Event generation — The appropriate AOV event(s) are generated
- Forwarding — Events are sent to your configured destinations
Threshold Definitions
| Event | Threshold Logic |
|---|
high_aov_purchase | Order value > store’s average order value |
low_aov_purchase | Order value ≤ store’s average order value |
p70_aov_purchase | Order value > 70th percentile of all orders |
p80_aov_purchase | Order value > 80th percentile of all orders |
p90_aov_purchase | Order value > 90th percentile of all orders |
Thresholds are calculated dynamically based on your store’s recent order history. As your average order value changes, the classification adjusts automatically.
Properties
These events include 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
AOV events are forwarded to destinations as:
| Destination | Event Name | Notes |
|---|
| Meta CAPI | Purchase | With AOV segment in custom data |
| Google Ads | purchase | Filterable by event name |
| TikTok Events API | CompletePayment | AOV segment included |
| Klaviyo | Placed Order | Tagged with AOV tier |
| GA4 | purchase | Custom dimension for AOV segment |
Use Cases
Optimize for High-Value Customers
Use high_aov_purchase or p90_aov_purchase events to train ad algorithms to find customers who spend more:
- Configure Meta CAPI to optimize for
high_aov_purchase instead of all purchases
- Build lookalike audiences from high-AOV customers
- Set higher bids for campaigns driving premium purchases
Identify Discount-Driven Traffic
Use low_aov_purchase events to understand which channels drive bargain shoppers:
- Compare high vs. low AOV by traffic source
- Identify campaigns that attract discount-seekers
- Adjust targeting to improve order values
Revenue-Weighted Attribution
Use percentile events for more accurate revenue attribution:
p90_aov_purchase — Focus on your most valuable 10% of orders
p80_aov_purchase — Track premium customer acquisition
p70_aov_purchase — Identify above-average performers
Event Overlap
A single purchase may generate multiple AOV events. For example, a purchase in the 95th percentile generates:
high_aov_purchase (above average)
p70_aov_purchase (above 70th percentile)
p80_aov_purchase (above 80th percentile)
p90_aov_purchase (above 90th percentile)
Choose the threshold that best matches your optimization goals.