# Omnichannel campaigns

Pushwoosh enables you to create omnichannel campaigns and seamlessly unify your communications across different channels such as push notifications, emails, SMS, in-apps and WhatsApp. This guide explains how omnichannel campaigns work in Pushwoosh, and how to set up integration to create these campaigns.

## Key identifiers for omnichannel campaigns in Pushwoosh

To effectively manage omnichannel campaigns, it’s essential to understand how Pushwoosh identifies users across various devices and channels. Pushwoosh uses three primary identifiers by default:

* **Device ID (HWID)**: A unique identifier assigned to each device by the Pushwoosh SDK. [Learn more](/product/pushwoosh-knowledge-hub/device-identifiers#hwid)

* **User ID**: A unique identifier that represents the user of the device.
By default, the User ID is equal to the HWID. However, the User ID is reserved for you, allowing you to later replace the default User ID with a custom one. This enables mapping users across different systems or linking different devices and communication channels under one User ID for omnichannel campaigns.
[Learn more about User IDs](/product/pushwoosh-knowledge-hub/users-userids).
<Aside type="caution" icon="setting" title="Developer assistance needed">
 You'll need assistance from your development team to set a custom User ID. Please share [this guide](/developer/pushwoosh-knowledge-hub/users-userids/collecting-user-ids) with them to get started.
</Aside>

* **Push token**: A unique key for the app-device combination, issued by Apple or Google push notification gateways. It is collected and managed by the Pushwoosh SDK. [Learn more](/product/pushwoosh-knowledge-hub/device-identifiers#push-token)

## Understanding how Pushwoosh handles devices

In Pushwoosh, any contact method — such as a [device identifier (HWID)](/product/pushwoosh-knowledge-hub/device-identifiers), email address, or phone number — is treated as a separate entity or "device".  Each "device" is stored as a distinct entry in the Pushwoosh database. For instance:

* **HWID** for mobile or web push notifications
* **Email addresses** for email communications.
* **Phone numbers** for SMS messages and WhatsApp communications

For example, if a user has both a mobile device and an email address, Pushwoosh counts the device identifier (HWID) and the email address as two separate entities (devices). As a result, there will be two separate entries in the Pushwoosh database.

[Learn how to register devices in Pushwoosh](/product/first-steps/start-with-your-project/subscribe-users)

## How to link devices for effective omnichannel campaigns
To run omnichannel campaigns in Pushwoosh, where you can reach the same user via push notifications, email, SMS, or WhatsApp, you must link all of a user’s contact methods under a single, unique User ID. This essential process ensures Pushwoosh recognizes that separate contact points (like a phone, email, or SMS number) all belong to the same user. 

Pushwoosh allows a single User ID to be associated with multiple devices and channels. This is the foundation that ensures all user actions and contact points are treated as belonging to the same unified profile.
##### What you need to do

1. Set a custom, unique User ID that will connect all the channels/devices related to the same person (for example, “alex_smith_123”).

2. When registering each contact method (mobile device, email address, phone number/SMS, or WhatsApp) in Pushwoosh, assign the same User ID to all of them.
This means when you register a device with the Pushwoosh SDK or API, or import users via CSV, always use the same User ID for each point of contact belonging to the user.
<Aside type="note">
When you register devices with the same User ID, Pushwoosh automatically links them in your user base. There’s no extra configuration needed, but you must ensure the **same User ID** is provided for each contact method you register.
</Aside>
##### Why is this important?
If you don’t link devices under a single User ID, each device or contact method will be treated as an independent user, and you won’t be able to target people across channels or coordinate messaging.

##### Example
Suppose you want to send a follow-up email or SMS to users who did not open a push notification. To do this seamlessly, you must ensure that all of the user’s contact details (such as their mobile device, email address, and phone number) are associated with the same User ID. This way, Pushwoosh can recognize and reach the user across channels as a single profile.

Here’s a simplified representation of how this might look in the Pushwoosh database:

| Platform  | Device (HWID) | User ID |
| ----- | ----- | ----- |
| Mobile | abc123pushToken | user123 |
| Email | user@example.com | user123 |
| SMS | +1234567890 | user123 |
| WhatsApp | +1234567890 | user123 |

In this example, the custom UserID **"user123"** is linked to four different devices: a mobile device, an email address, an SMS number, and a WhatsApp contact. This means Pushwoosh recognizes that all these devices belong to the same user, allowing you to contact them through different channels.

<Aside type="tip">
To see all the devices linked under a User ID, type the User ID into the [Pushwoosh User Explorer](/product/audience-data-and-segmentation/user-explorer/). You'll be able to view all active user devices associated with that User ID, as well as all [user tags](/product/audience-data-and-segmentation/user-data-tags/).

<img src="/pushwoosh-knowledge-hub-omnichannel-campaigns-1.webp" alt="User Explorer showing multiple devices linked to a single User ID with device types and tags"/>
</Aside>

## Example scenario

<Aside type="caution" icon="setting" title="Developer assistance needed">
 Configuring the steps outlined below requires assistance from your development team. Please share this guide with them for proper implementation.
</Aside>

Imagine you manage an eCommerce app and want to reach your customers through various channels, including push notifications, emails, SMS, and WhatsApp, ensuring consistent and personalized messaging across all platforms.

Here’s how it might look:

### Step 1. Registering the device and setting a custom User ID

When a new customer, let’s call her Sarah, downloads your app, the Pushwoosh SDK automatically registers her device in Pushwoosh using its Hardware ID (HWID) as the default User ID. After Sarah creates an account and logs in, you assign her a custom User ID, `sarah_123`, using the [setUserId](/developer/pushwoosh-knowledge-hub/users-userids/collecting-user-ids#setuserid-sdk-method) SDK method.


### Step 2. Expanding to email

Next, encourage Sarah to sign up to receive promotional emails and register her email address in the Pushwoosh user base using the [registerEmail](/developer/api-reference/email-api#registeremail) API method. You can also register an email address via corresponding methods using either Pushwoosh [mobile SDK](/developer/pushwoosh-sdk/ios-sdk) or [Web SDK](/developer/pushwoosh-sdk/web-push-notifications/web-push-sdk-30) if you need to do so from your mobile application or website. Set the custom User ID to `sarah_123` and you can also include any tags that should be associated with the email record, like her preferences or activity.

### Step 3. Expanding to SMS

Similarly, when Sarah agrees to receive SMS messages and provides her phone number, you should use the [registerDevice](/developer/api-reference/device-api#registering-sms-devices) API method to link her number **(+1234567890)** with her User ID **sarah_123**.

Sarah's mobile device, email, and phone number are now linked to her User ID, **sarah_123**. This setup enables you to send [personalized messages](/product/personalization/dynamic-content) to Sarah through [push notifications](/product/messaging-channels/push-notifications/), [emails](/product/messaging-channels/emails/sending-emails), and [SMS](/product/messaging-channels/sms/send-sms/) channels, ensuring a seamless and consistent user experience.

## How omnichannel works in customer journeys

* When setting up omnichannel customer journeys, make sure to enable the [Send to all user devices](/product/customer-journey/journey-elements#send-by-user-id) option. This ensures the message is delivered to the appropriate channel across all user devices.

<img src="/pushwoosh-knowledge-hub-omnichannel-campaigns-2.webp" alt="Send to all user devices toggle enabled in Customer Journey message element settings"/>

* To make omni-channel campaigns work effectively, users who enter a journey should have all the channels used in the journey. For example, if you start a campaign with a push notification, only customers with registered mobile devices will receive it. If they don't have a mobile device, they won't be able to continue. The same goes for email campaigns.