> 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/exclude-subscription-renewals-from-ad-conversions.md).

# Exclude subscription renewals from conversions

Stop subscription renewal orders from reaching a destination as purchase events, using a trigger condition in the Event Editor.

Stop recurring subscription orders from reaching your destinations as conversions.

#### What you'll build

A [trigger condition](https://help.littledata.io/event-editor/trigger-conditions) on the purchase event, so it's only sent for orders that are not subscription renewals.

Renewals are not driven by your marketing. A customer who subscribed six months ago renews whether or not they saw your campaign this week. When renewals count as conversions, reported ROAS inflates and ad algorithms train on conversions they can never acquire again. Filtering renewals means every purchase event is one your marketing could actually influence.

{% hint style="info" %}
Some destinations already keep renewals out of their purchase conversion, so you don't need this setup there:

* **Meta**: the **Purchase** event is not sent for renewal orders. Renewals reach Meta only if you add the **Recurring purchase** or **Returning customer purchase** [recipe](https://help.littledata.io/event-editor/recipes).
* **TikTok**: renewals are sent as **Subscribe**, not **CompletePayment**.
* **Microsoft Ads**: renewal orders are not sent.
  {% endhint %}

#### What you need

* A subscription app that creates recurring orders, such as [Recharge](https://rechargepayments.com)
* At least one Littledata destination connected that receives every order as a purchase, for example Pinterest, GA4 or Klaviyo
* Access to the Event Editor in the Littledata app

{% hint style="info" %}
Littledata marks each order with its own order type in `properties.order_type`: `REGULAR` for one-off orders, `FIRST_RECURRING` for a first subscription order and `RECURRING` for a renewal. An order counts as a renewal when a subscription app created it, when Recharge reports it as a recurring order, or when one of its tags contains "recurring".
{% endhint %}

{% hint style="warning" %}
Google Ads events can't be edited in the Event Editor, so you can't filter them this way.
{% endhint %}

#### Steps

The steps are the same for every destination. Only the event name changes: **purchase** in GA4, **Placed Order - Littledata** in Klaviyo.

{% stepper %}
{% step %}
**Open the Event Editor**

In the Littledata app, find the destination card, click the **⋯** menu on its card and choose **Settings**. Then open the **Event Editor** tab.
{% endstep %}

{% step %}
**Edit the purchase event**

Open the **⋯** menu on the purchase event and select **Edit**.
{% endstep %}

{% step %}
**Add the trigger condition**

In the **Event trigger** section, click **Add condition** and add this condition:

| Field                   | Operator         | Value       |
| ----------------------- | ---------------- | ----------- |
| `properties.order_type` | `does not equal` | `RECURRING` |

Once an event has conditions, it's only sent when they match. One-off orders and first subscription orders pass. Renewals are dropped. See [Filter events with trigger conditions](https://help.littledata.io/event-editor/trigger-conditions).
{% endstep %}

{% step %}
**Save**

Click **Save event**.
{% endstep %}
{% endstepper %}

#### Destination notes

* **Ad platforms**: your purchase stream is now acquisition-only. Expect reported ROAS to drop. That is the inflation being removed, not performance getting worse.
* **GA4**: think twice before filtering here. If you want complete revenue reporting in GA4, keep renewals flowing and filter only your ad destinations.

#### Verify it's working

{% stepper %}
{% step %}
**Wait for a renewal**

Wait for the next renewal order, or trigger one with a test subscription.
{% endstep %}

{% step %}
**Check the destination**

Confirm the order appears in Shopify, but no purchase event arrives for it in the destination.
{% endstep %}

{% step %}
**Check other orders**

One-off orders and first subscription orders should still come through as normal.
{% endstep %}
{% endstepper %}

#### Make it yours

* Want the renewal revenue visible rather than dropped? Leave the purchase event as it is and create a `recurring_order` [custom event](https://help.littledata.io/event-editor/custom-events) with `properties.order_type` `equals` `RECURRING`.
* Run the inverse setup too: give first subscription orders their own conversion. See [Create a new-subscriber conversion event](https://help.littledata.io/event-editor/common-setups/new-subscriber-conversion-event-meta-ads).

#### Related articles

* [Filter events with trigger conditions](https://help.littledata.io/event-editor/trigger-conditions)
* [Recipes](https://help.littledata.io/event-editor/recipes)
* [Common setups](https://help.littledata.io/event-editor/common-setups)
