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

# [DRAFT] How Custom Event Mappings Work for Health & Wellness Stores

> Learn why Upstack replaces standard Meta event names with custom events, how to use them in Ads Manager, and the full mapping reference.

# The Short Version

Upstack's Health & Wellness container replaces standard Meta events (like Purchase and AddToCart) with **custom-named events** (like `UPSTACK_HW_6117d13b`). This prevents Meta's automated flagging systems from recognizing and restricting your conversion events. The custom events work identically for campaign optimization — you just need to approve them in Events Manager and select them when setting up your ad sets.

# Why Standard Event Names Are a Problem

Meta defines a set of standard events — Purchase, AddToCart, InitiateCheckout, ViewContent, and others — that are used across millions of advertisers. These event names are deeply integrated into Meta's advertising system for optimization, reporting, and audience building.

For Health & Wellness flagged stores, this is a problem. When Meta sees a Purchase event coming from a domain or pixel that's flagged as H\&W, it applies additional restrictions to that event:

* **The event may be blocked from optimization.** Meta can prevent you from using Purchase as an optimization objective in your campaigns.

* **The event may be downgraded.** Even if not fully blocked, Meta may give less weight to the event in its delivery algorithm.

* **The event triggers automated review.** Standard events on flagged accounts are scrutinized more heavily by Meta's compliance systems.

The standard event names essentially act as labels that Meta's flagging system monitors. By replacing them with custom event names that Meta's system doesn't recognize as health-related, the events pass through without triggering these restrictions.

# How Custom Event Mappings Work

## What Changes

Every standard Meta event is remapped to a unique custom event name. The mapping is consistent — the same standard event always maps to the same custom event — so Meta can learn and optimize on the custom events just like it would with standard ones.

For example:

* When a customer makes a purchase, instead of sending a `Purchase` event, Upstack sends `UPSTACK_HW_6117d13b`

* When a customer adds an item to their cart, instead of `AddToCart`, Upstack sends `UPSTACK_HW_de792bda`

The custom event names are deterministic hashes — they look random but map consistently to the same standard event. This means `UPSTACK_HW_6117d13b` always means "Purchase" across all Upstack H\&W customers.

## What Stays the Same

The custom event carries all the same data as the standard event it replaces:

* **Value and currency** — still attached for conversion value optimization

* **User identifiers** — still hashed and sent for attribution

* **Event timing** — still accurate

The only thing that changes is the `event_name` field. From Meta's perspective, it's receiving a custom conversion event with value data — exactly like any other custom event an advertiser might define.

# Full Event Mapping Reference

<table role="presentation"><tbody><tr><td><p class="no-margin"><b>Standard Event</b></p></td><td><p class="no-margin"><b>H\&W Custom Event</b></p></td><td><p class="no-margin"><b>Notes</b></p></td></tr><tr><td><p class="no-margin">PageView</p></td><td><p class="no-margin">PageView</p></td><td><p class="no-margin">Unchanged — not flagged</p></td></tr><tr><td><p class="no-margin">ViewContent</p></td><td><p class="no-margin">ViewContent</p></td><td><p class="no-margin">Unchanged — not flagged</p></td></tr><tr><td><p class="no-margin">ViewCategory</p></td><td><p class="no-margin">view\_category</p></td><td><p class="no-margin">Minor rename</p></td></tr><tr><td><p class="no-margin">AddToCart</p></td><td><p class="no-margin">UPSTACK\_HW\_de792bda</p></td><td /></tr><tr><td><p class="no-margin">InitiateCheckout</p></td><td><p class="no-margin">UPSTACK\_HW\_d823e4ff</p></td><td /></tr><tr><td><p class="no-margin">Purchase</p></td><td><p class="no-margin">UPSTACK\_HW\_6117d13b</p></td><td><p class="no-margin">Primary optimization event</p></td></tr><tr><td><p class="no-margin">Lead</p></td><td><p class="no-margin">UPSTACK\_HW\_289161cb</p></td><td /></tr><tr><td><p class="no-margin">Schedule</p></td><td><p class="no-margin">UPSTACK\_HW\_5a3811fb</p></td><td /></tr><tr><td><p class="no-margin">Complete Registration</p></td><td><p class="no-margin">UPSTACK\_HW\_895b83ff</p></td><td /></tr><tr><td><p class="no-margin">Contact</p></td><td><p class="no-margin">UPSTACK\_HW\_4c62e638</p></td><td /></tr><tr><td><p class="no-margin">Invite Meeting Sched.</p></td><td><p class="no-margin">UPSTACK\_HW\_529b7e00</p></td><td /></tr><tr><td><p class="no-margin">AddPaymentInfo</p></td><td><p class="no-margin">UPSTACK\_HW\_9984f5f9</p></td><td /></tr><tr><td><p class="no-margin">AddShippingInfo</p></td><td><p class="no-margin">UPSTACK\_HW\_3c4012cc</p></td><td /></tr><tr><td><p class="no-margin">All Purchase</p></td><td><p class="no-margin">UPSTACK\_HW\_f0e986fc</p></td><td><p class="no-margin">All purchases (new + returning)</p></td></tr><tr><td><p class="no-margin">NC Purchase</p></td><td><p class="no-margin">UPSTACK\_HW\_fa2b3354</p></td><td><p class="no-margin">New customer purchases only</p></td></tr><tr><td><p class="no-margin">RC Purchase</p></td><td><p class="no-margin">UPSTACK\_HW\_5ec76558</p></td><td><p class="no-margin">Returning customer purchases only</p></td></tr></tbody></table>

Note that **PageView** and **ViewContent** are sent with their standard names. These top-of-funnel events are generally not restricted by the H\&W flag, and keeping them standard helps with audience building and funnel reporting in Meta.

# Approving Custom Events in Meta Events Manager

When custom events first appear in Meta Events Manager, they show a **red triangle warning** (⚠️). This is normal — Meta flags any new custom event that hasn't been explicitly approved by the account owner.

Until you approve them, the events are tracked but **cannot be used for campaign optimization**. This means you must approve the events before you can set up ad sets that optimize toward them.

## How to Approve

<Steps>
  <Step title="Open Meta Events Manager">
    Sign in to [Meta Events Manager](https://business.facebook.com/events_manager) and select your new (clean) pixel. You'll see the custom events listed with red triangle icons.
  </Step>

  <Step title="Review each event">
    For each event, click the event name or the warning icon, then click **Review** or **Manage Status**.
  </Step>

  <Step title="Confirm the event">
    Click **I acknowledge**, then click **Confirm the custom event → Confirm**.
  </Step>
</Steps>

The red triangle disappears and the event becomes available for optimization.

For detailed steps with screenshots:

[How to Approve Facebook (Meta) Custom Events →](/guides/facebook-ads/how-to-approve-facebook-meta-custom-events)

# Using Custom Events in Ads Manager

Once approved, custom events work exactly like standard events in your campaign setup.

## Setting Up Campaigns

When creating or editing an ad set, you'll choose your optimization event. Instead of selecting "Purchase" from the standard events dropdown, you'll:

<Steps>
  <Step title="Find Custom Events in the optimization dropdown">
    In Meta Ads Manager, on the ad set screen, open the **Performance Goal / Conversion Event** dropdown and scroll to **Custom Events** (or the custom events section).
  </Step>

  <Step title="Select the Purchase event">
    Choose `UPSTACK_HW_6117d13b` (this is your Purchase event).
  </Step>

  <Step title="Continue with campaign settings">
    Continue with your normal campaign settings. Everything else — budget, audience targeting, bidding strategy, creative — stays exactly the same.
  </Step>
</Steps>

## Reporting and Columns

In Ads Manager reporting, custom events appear as their custom names. To make reporting easier:

* **Add custom columns** for your key H\&W events (especially `UPSTACK_HW_6117d13b` for Purchase).

* **Create saved column presets** so you don't have to reconfigure reporting views each time.

* **Use custom conversions** if you want to create more readable names in reporting (e.g., create a custom conversion called "H\&W Purchase" based on the `UPSTACK_HW_6117d13b` event).

## Value Optimization

Because the custom Purchase event still carries value and currency data, you can use **value-based optimization** (ROAS bidding) with H\&W events. This works identically to optimizing toward a standard Purchase event with value.

# Why Not Just Use Custom Conversions Instead?

You might wonder why Upstack sends entirely different event names rather than sending a standard Purchase event and relying on Meta's custom conversions feature to filter. The reason is that Meta's restriction layer operates at the **event level**, not the custom conversion level:

* A standard `Purchase` event from a flagged source is restricted **before** it reaches the optimization layer.

* A custom event name like `UPSTACK_HW_6117d13b` is not in Meta's restriction list, so it passes through normally.

Custom conversions are a reporting/optimization feature that sits on top of events. They can't bypass restrictions that are applied to the underlying event itself.

# NC Purchase vs. RC Purchase vs. All Purchase

Upstack's H\&W mappings include three Purchase variants:

**All Purchase (`UPSTACK_HW_f0e986fc`)** — Every purchase, regardless of customer type. This is the broadest purchase event.

**NC Purchase (`UPSTACK_HW_fa2b3354`)** — New customer purchases only. Fires only when the purchaser is identified as a first-time buyer. Use this when you want to optimize specifically for customer acquisition.

**RC Purchase (`UPSTACK_HW_5ec76558`)** — Returning customer purchases only. Fires when an existing customer makes a repeat purchase.

**Purchase (`UPSTACK_HW_6117d13b`)** — The primary purchase event, equivalent to Meta's standard Purchase. This is the recommended default for campaign optimization.

Which one you optimize toward depends on your business goals. Most brands start with the primary Purchase event and layer in NC/RC optimization as they scale.

# What You Need to Do

1. **Approve all custom events** in Meta Events Manager (the red triangle step).

2. **Update your campaign optimization** to point to `UPSTACK_HW_6117d13b` for Purchase.

3. **Update your Ads Manager reporting columns** to include the custom events you care about.

Upstack handles the mapping automatically — you never need to configure which events map to which names. That's built into the H\&W container.

# Related Articles

* [Health & Wellness Custom Event Mappings](/guides/facebook-ads/health-and-wellness-custom-event-mappings)

* [How to Approve Facebook (Meta) Custom Events](/guides/facebook-ads/how-to-approve-facebook-meta-custom-events)

* [How Upstack Data Solves Health & Wellness Restrictions](/guides/health-wellness/how-upstack-solves-health-wellness-restrictions)

* [How to Set Up a Health & Wellness Pixel for Meta](/guides/health-wellness/setup-health-wellness-pixel-for-meta)
