> 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/google-analytics/subscriptions/subscription-retention-funnel-ga4.md).

# How to create the Subscription Retention Funnel in GA4

A subscription retention funnel shows how many customers keep their subscription after the first order. This page shows you how to build one in GA4 with the Affiliation dimension that Littledata sends, and how to compare channels with segments.

{% hint style="info" %}
New to funnels in GA4? Start with our general guide to [funnels in Google Analytics 4](https://help.littledata.io/google-analytics/behavior/funnels-in-google-analytics-4).
{% endhint %}

{% embed url="<https://www.youtube.com/watch?v=dR_WhnTNYaI>" %}

### Before you start

Littledata sends an `affiliation` parameter with every purchase event. Littledata registers the **Affiliation** custom dimension in your GA4 property during setup, so you don't need to create it. If it's missing, follow [Create and use the Affiliation custom dimension in GA4](https://help.littledata.io/integrations/shopify-to-google-analytics/create-affiliation-custom-dimension-ga4).

The funnel uses these Affiliation values:

| Order type                   | Affiliation contains           |
| ---------------------------- | ------------------------------ |
| First subscription order     | `Subscription First Order`     |
| Recurring subscription order | `Subscription Recurring Order` |

{% hint style="info" %}
For first orders, Affiliation is built from the Shopify order tags. The funnel's first step only works if your subscription app tags first orders with `Subscription First Order`, as Recharge does. Recurring orders always get `Subscription Recurring Order`.
{% endhint %}

### Build the funnel

{% stepper %}
{% step %}

#### Open Explore

In Google Analytics, click **Explore** in the left menu.
{% endstep %}

{% step %}

#### Create a funnel exploration

Start a **Blank** exploration. In the **Settings** column, set **Technique** to **Funnel exploration**.
{% endstep %}

{% step %}

#### Add the funnel steps

Next to **Steps**, click the pencil icon. Add four steps. Each step uses the `purchase` event with an **Affiliation** parameter condition:

| Step | Name              | Event      | Condition                                           |
| ---- | ----------------- | ---------- | --------------------------------------------------- |
| 1    | 1st order         | `purchase` | Affiliation contains `Subscription First Order`     |
| 2    | Recurring order 1 | `purchase` | Affiliation contains `Subscription Recurring Order` |
| 3    | Recurring order 2 | `purchase` | Affiliation contains `Subscription Recurring Order` |
| 4    | Recurring order 3 | `purchase` | Affiliation contains `Subscription Recurring Order` |

Between steps, keep **is indirectly followed by**.

![step configuration for the funnel](https://3956158252-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1QhTbrMraNWciQeDvu1b%2Fuploads%2Fgit-blob-ddd12a3f2ee5f783554bf2a7ab4878f2a82b4ce1%2Fscreenshot-2023-10-18-at-15.24.43.png?alt=media\&token=15af01d1-5a7e-4da1-97ff-34a855586c91)
{% endstep %}

{% step %}

#### Apply

Click **Apply**. The report shows how many customers reached each subscription order.

![main report after adding the funnel steps](https://3956158252-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1QhTbrMraNWciQeDvu1b%2Fuploads%2Fgit-blob-920f0433d3607dc1ba9542cf460e12907778f312%2Fscreenshot-2023-10-18-at-15.29.43.png?alt=media\&token=6d450424-fe61-4090-8684-d16f85088ce0)
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Pick a long date range. Subscriptions renew over weeks or months, so a short range shows mostly first orders.
{% endhint %}

### Compare channels with segments

Segments let you compare retention for customers from different channels. This example compares Google Ads (`google / cpc`) with organic search.

{% stepper %}
{% step %}

#### Add a user segment

In the **Variables** column, click the **+** next to **Segments**, then choose **User segment**.
{% endstep %}

{% step %}

#### Set the condition

Name the segment (for example, "Google / CPC users"). Add the condition **Session source / medium** contains `google / cpc`.

![adding user segments - google / cpc](https://3956158252-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1QhTbrMraNWciQeDvu1b%2Fuploads%2Fgit-blob-d6055592fbcd07d92370504bc41eb9e59132b891%2Fscreenshot-2023-10-18-at-15.37.17.png?alt=media\&token=b3b4a938-737e-49e4-a8c0-f1d3ea5afa16)
{% endstep %}

{% step %}

#### Save and apply

Click **Save and apply**.
{% endstep %}

{% step %}

#### Add organic users

Create a second segment named "Organic users" with **Session source / medium** contains `organic`. Then add both segments to **Segment comparisons**.
{% endstep %}
{% endstepper %}

The report now shows each funnel step side by side for both channels:

![final report](https://3956158252-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1QhTbrMraNWciQeDvu1b%2Fuploads%2Fgit-blob-eeb7c5ad33f8ef0c6e38bfd86e68a521ad935315%2Fscreenshot-2023-10-18-at-15.40.59.png?alt=media\&token=051eb113-2f07-4930-802b-607bac71c8d8)

### Related articles

* [Funnels in Google Analytics 4](https://help.littledata.io/google-analytics/behavior/funnels-in-google-analytics-4)
* [Create and use the Affiliation custom dimension in GA4](https://help.littledata.io/integrations/shopify-to-google-analytics/create-affiliation-custom-dimension-ga4)
* [Subscription lifetime revenue by channel in GA4](https://help.littledata.io/google-analytics/subscriptions/subscription-revenue-by-channel-in-google-analytics-4)
* [Segments in Google Analytics](https://help.littledata.io/google-analytics/behavior/segments-in-google-analytics-4)
