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

# nc_purchase Event

> Track purchases from first-time customers — 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 `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:

1. **Order received** — Shopify sends a purchase webhook to Upstack
2. **Customer lookup** — Upstack checks if this customer ID has any previous orders
3. **Classification** — If this is the customer's first order, an `nc_purchase` event is generated
4. **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

## Related Events

* [purchase](/pixel/standard-events#purchase) — The base purchase event for all orders
* [rc\_purchase](/pixel/events/upstack-generated/rc-purchase) — Returning customer purchases
* [all\_purchase](/pixel/events/upstack-generated/all-purchase) — All purchases (combines NC + RC)
