# Concepts

## **Journey Tags**

Users can categorize journeys with tags (up to 10). Tags help in organizing and searching for journeys, especially when managing multiple campaigns.

***

## **Versioning**

Every time a journey is modified and published, a new version is created. Users can track and compare different versions of the same journey.

***

## **Event Filters**

Filters allow for more granular control over who enters the journey. Filters can be based on **event properties** (e.g., customer actions or transaction details) or **user actions** (e.g., doing an event).

***

## **Node Sequencing and Execution Flow**

Users can design multi-step workflows where nodes are executed in a sequence. For example, after a **Trigger Node**, users can add an **Action Node** (e.g., sending a WhatsApp message) and a **Flow Control Node** (e.g., wait or conditional branching).

***

## **Dynamic Content Variables**

During template message setup, users can define dynamic variables for elements like the message body, image, video, buttons, and discounts. These variables are populated with data from event triggers (e.g., user name, order details, etc.).

***

## **Fallback Values for Dynamic Variables**

Users can specify fallback values for dynamic variables in case the data they expect (e.g., customer name, order ID) is missing or null.

***

## **UTM Parameters Integration**

Journey Builder supports setting UTM parameters for links in WhatsApp messages, helping marketers track the effectiveness of different campaigns. Default values for **source**, **medium**, and **campaign** are prefilled, but users can also add custom UTM parameters.

***

## **Discount Code Management**

Users can set up **discount codes** within the journey, either **static** (user-defined) or **dynamic** (system-generated). Discount validity, minimum order value, and item quantity conditions can be specified.

***

## **Goal Configuration**

Users can set specific **goal events** (e.g., purchase completion, sign-up) within the journey, which contributes to the Goal achieved count upon success.

***

## **Custom Webhook Integration**

Journey Builder supports the integration of **custom webhooks**, allowing users to interact with external systems (e.g., CRM or external APIs) to fetch data, trigger actions.

***

## **Exit Nodes**

Journeys can end at multiple points (Exit Nodes), depending on whether specific **exit conditions** are met. Exit nodes help ensure users complete or exit the journey properly.

***

## **A/B Testing and Branching**

A/B Testing nodes allow users to randomly split the audience into multiple branches. Users can test which path leads to better performance and optimize accordingly.

***

## **Flow Control with Conditional Branching**

Conditional branching enables the creation of different paths based on specific customer actions or properties. Users can define multiple conditions to filter who moves along which path.

***

## **API Call Node**

The API call node allows users to make external API requests (POST) to trigger actions outside of the platform. This adds flexibility to automate interactions with other systems.

***

## **Message Delivery Analytics**

Journey Builder provides insights into message delivery metrics like **sent**, **delivered**, **failed**, and **opened** messages, enabling users to optimize messaging strategies.
