---
title: [Bonus] Dynamic variables
slug: vodafone-hands-on-lab/bonus-dynamic-variables
docTags: 
createdAt: 2023-12-14T10:23:56.102Z
---

Dynamic segmentation solves the scalability problems marketers traditionally face when building audiences for marketing campaigns.&#x20;

Unlike static segmentation, which requires you to explicitly capture every possible use case, dynamic segmentation uses variables to build the rule logic and dynamically express relationships.

So, we are going to define a segment for profiles that have: **Viewed a product, AND NOT purchased this same product in the last 24 hours**.

- In the menu on the left side, click on **Audiences;**
- click on **+ Create Audience**. This will open the *Create Audience* popup;
- select **Build Rule&#x20;**&#x61;s the creation method. This will open the Rule Builder;
- select the **Events** tab in the Fields section;
- search for **Product Views;**
- Drag the **Product Views,&#x20;**&#x66;rom th&#x65;**&#x20;Event Type&#x20;**&#x73;ection, onto the canvas.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/sAB4D9gVD5Dc_Uku9YBW__image.png)

Now we want to add a second condition to look for profiles who have NOT purchased a specific product:

- select the **Events** tab in the Fields section;
- search for **Purchases**;
- drag the Purchases Event Type onto the Segment Builder Canvas, beside the **Product Views**.

Your segment definition should look like:

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/GpLLvZQ-42kNxt0GIfJlE_image.png)

To restrict the time period between product views and purchases:

- click on the **clock icon** between the two events;
- select the **Within** checkbox;
- specify `1 Day(s);`
- click the **clock icon** again to close the popup.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/WnrEP35D_S-O5_ADxtA-6_image.png "Time between events.")

As a next step, we want to add a third condition to ensure that segment qualification only occurs when the two events refer to the same product.

This is our **Dynamic Variable**.

- Click on the **Purchases** event to ensure the event is highlighted (blue border around the card in the canvas);

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/b5vh3nDzDLDco-SKqSWl7_image.png)

- select the **Events** tab in the Fields section;
- from the *Browse variables* section, select **Purchases >**;
- select **Product list items >**;
- select **Name**;
- drag **Name** onto the Segment Builder Canvas, in the Event Rules section, where it says **Add event field**.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/O2XeDpfdb8ol1xNyrH1Rw_screen-recording-2023-12-19-at-101742.gif)

Your segment should look like:

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/ZidjhBS8TprVuRI-EFbf-_image.png)

We need to compare the product name of the purchase event to the product name of the Product View event.&#x20;

To do this:

- select the **Events** tab in the Fields section;
- click on the **black folder icon**;
- click on **Variables**; this will bring you back to the root folder;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/G0UAQs1O7vvdm6HgDQrd2_screen-recording-2024-01-09-at-111441.gif)

- from the **Browse variables**, select **Product Views >.**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/frBNql_akiVgtF-rWvup6_image.png)

- select **Product list items >**;
- drag **Name** onto the Segment Builder Canvas in the **Event Rules** section, into the "Equals" condition text box; as you drag the Product Name over the text box you'll be given the option to **Compare Operands**;
- drop the **Name** into this area.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/XYhFEQXLPtU-JlXJRHO_-_screen-recording-2023-12-19-at-103203.gif)

We want the Purchase event to be an **Exclusion** rule. To change this:

- click on the **Purchases** event;
- in the Event Rules, click the **Include** drop down and change this to **Exclude**.

Your segment definition should look like:

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/cqp2SFXYi2_s1dBWw0LRE_image.png)

Finally, let's save our audience.

- Enter a **Name** for your audience using the following naming convention
  `[your name] - Viewed Product, did not purchased in the last 24 hrs `,&#x20;
  e.g. `sacker - Viewed Product, did not purchased in the last 24 hrs`.
- (optional) Enter a **Description**.
- Select **Batch** from the **Evaluation method** dropdown list.
- Click on **Save and Close**.

