> For the complete documentation index, see [llms.txt](https://help.littledata.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.littledata.io/event-editor/common-setups/keep-b2b-orders-out-of-ad-conversions.md).

# Exclude B2B orders from your conversions

### What you'll build

A [filter](/event-editor/trigger-conditions.md) that stops wholesale and B2B orders from reaching a destination as purchase events.

B2B buyers arrive through direct sales relationships, not your campaigns. Their custom pricing and large order values skew ad optimization, value-based bidding, and your conversion benchmarks. Filtering them keeps the purchase signal DTC-only.

### What you need

* B2B or wholesale orders flowing through your Shopify store
* At least one Littledata destination connected, for example [Meta Conversions API](/integrations/facebook-capi.md), [Google Ads](/integrations/google-ads/google-ads-install-guide.md), or [Google Analytics](/integrations/shopify-to-google-analytics/littledata-shopify-install-guide.md)
* Access to the Event Editor in the Littledata app

### Steps

The steps are the same for every destination.

{% stepper %}
{% step %}

#### Open the purchase event

In the destination's [Events tab](/event-editor/getting-started.md), open the **three-dot menu** on the purchase event and select **Edit**.

The event name is different across destinations: **Purchase** in Meta, **purchase** in GA4, **Placed Order** in Klaviyo.
{% endstep %}

{% step %}

#### Open the Event trigger section

This is where the event's conditions live. With no conditions, the event is sent for every order; once you add conditions, it's only sent when they match. See [Filter events with trigger conditions](/event-editor/trigger-conditions.md).
{% endstep %}

{% step %}

#### Add the condition

Add a condition that rules out orders marked as B2B:

| Setup         | Field             | Operator           | Value       |
| ------------- | ----------------- | ------------------ | ----------- |
| Tagged orders | `properties.tags` | `does not contain` | `wholesale` |

See [Trigger conditions](/event-editor/trigger-conditions.md) for the available fields and operators.
{% endstep %}

{% step %}

#### Save

Click **Save** to apply. The purchase event is now only sent for orders that pass the conditions, so B2B orders are dropped.
{% endstep %}
{% endstepper %}

### Destination notes

* **Meta**: no setup change needed in Meta itself. Expect average order value and ROAS to shift as wholesale pricing leaves the data; that is the correction working. Lookalikes seeded from purchasers no longer include wholesale buyers.
* **Google Ads**: apply the same conditions to the Google Ads connection so value-based bidding optimizes on DTC revenue only.
* **GA4**: this setup removes B2B revenue from GA4 reports entirely. If you still want that revenue visible, create a separate `b2b_purchase` event instead (see below).
* **Klaviyo**: apply the same conditions to **Placed Order** so wholesale buyers don't enter your DTC post-purchase flows.

### Verify it's working

1. Place or wait for a wholesale order.
2. Confirm the order appears in Shopify but no purchase event arrives in the destination, for example Meta **Events Manager** or GA4 **DebugView**.
3. DTC orders should still come through as normal.

### Make it yours

This setup conditions on how your store marks a segment. The same pattern works with any [trigger condition](/event-editor/trigger-conditions.md):

* Condition on any field: order tags, customer tags, market, order total, or payment gateway.
* Want the B2B revenue visible rather than dropped? Create a `b2b_purchase` [custom event](/event-editor/custom-events.md) with the same condition inverted, so the segment reports on its own without polluting purchase.
