Automatically Generated — This event is created by Upstack backend services for Shopify customers. You do not need to fire this event manually.
Overview
The nc_purchase (New Customer Purchase) event is generated when Upstack detects a purchase from a first-time customer. This event fires alongside the standard purchase event, enabling you to segment and optimize campaigns specifically for customer acquisition.
How It Works
When a purchase occurs, Upstack’s backend analyzes the customer’s order history:
- Order received — Shopify sends a purchase webhook to Upstack
- Customer lookup — Upstack checks if this customer ID has any previous orders
- Classification — If this is the customer’s first order, an
nc_purchase event is generated
- Forwarding — The event is sent to your configured destinations with proper attribution
The classification happens server-side using Shopify’s customer order history, ensuring accurate new customer detection even when cookies are blocked or the customer uses a different device.
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) |
No additional properties are added — the event is the purchase event with a different event name for segmentation.
Destination Mapping
This event is forwarded to destinations as:
| Destination | Event Name | Notes |
|---|
| Meta CAPI | Purchase with custom data | Includes customer_type: new in custom data |
| Google Ads | purchase | Can be filtered by event name in Google Ads |
| TikTok Events API | CompletePayment | Event name included for segmentation |
| Klaviyo | Placed Order | Tagged as new customer |
| GA4 | purchase | Custom dimension for customer type |
Use Cases
- Optimize for acquisition — Set up Meta campaigns optimizing specifically for new customer purchases rather than all purchases
- Measure true CAC — Calculate cost per new customer acquisition more accurately
- Exclude retargeting — Create audiences that exclude returning customers
- A/B test acquisition strategies — Compare campaign performance on new customers only
Why This Matters
Many brands find that optimizing for all purchases leads to over-indexing on returning customers who would have purchased anyway. By sending nc_purchase events to ad platforms, you can:
- Train algorithms to find net-new customers
- Reduce wasted spend on existing customers
- Get clearer signals on acquisition campaign performance