> ## Documentation Index
> Fetch the complete documentation index at: https://partner-integrations.voyado.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration guide

Here are the steps in configuring the Shopify app for Voyado Engage.

## 1 - Install the app

In Shopify Admin, go to **Apps** → **Shopify App Store**.

1. Search for **Voyado Engage**.
2. Click **Add app** and complete the installation.

You will need an Engage account to proceed. Choose the option that applies to you:

<AccordionGroup>
  <Accordion title="You already have an Engage account">
    1. In the app's first screen, choose **I already have an account**.
    2. Voyado might need to enable Shopify support for you. Contact your Voyado team.
    3. When that is done, proceed to step 2.
  </Accordion>

  <Accordion title="You don't yet have an Engage account">
    1. In the app onboarding, fill in **Company name** and **Company number** (or equivalent).
    2. Hit **Submit**. Voyado will now contact you to create the account.
    3. Once your Engage account is ready, re-open the app and select **I already have an account**.
    4. Now proceed to step 2.
  </Accordion>
</AccordionGroup>

<Tip>
  You can always get back to the app configuration later via **Apps** → **Voyado Engage** → **Settings** in Shopify.
</Tip>

## 2 - Connect Shopify to Engage

In Shopify, open **Apps** → **Voyado Engage** → **Settings**.

### Voyado API Domain

Under **Engage account connection**, fill in **Voyado API Domain:**

* Production: `https://[tenant].voyado.com`
* Staging: `https://[tenant].staging.voyado.com`

Replacing `[tenant]` with your Engage tenant name.

### Voyado API Key

Generate this in **Config Hub** inside your Engage environment (API key for the Shopify app).

1. Click **Connect**.
2. Verify that a confirmation panel appears showing the connected Engage URL.

### Changing environment

If you need to change which Engage environment your Shopify app is connected to, you can:

1. Go to **Settings** and then **Disconnect**
2. Enter a new API Domain and API Key
3. Press **Connect** again

All app configuration (mappings, toggles, and so on) will be retained when you disconnect/reconnect

## 3 - Map countries to stores

Now you will map your countries in Shopify to stores in Engage. The store -> country mapping determines which Engage store that each Shopify customer and order belongs to. This is critical for segmentation and reporting.

To do this:

1. In Shopify, open **Voyado Engage** → **Settings** → **Voyado Store to Country Mapping**.
2. Click **Add mapping**.
3. For **Mapping type**, choose **Shipping country**.
4. For **Voyado Store**, pick the Engage store (type `ECOMM`) which will handle that shipping country.
5. For **Shipping country**, select the corresponding country from Shopify.
6. Repeat these steps for each market you sell to.
7. Set a **Rest of the world fallback store** (mandatory) for customers with unmapped or missing country.

<Tip>
  If you have Shopify Markets (one store, many countries), you'll typically have one `ECOMM` store per country in Engage, and will map each shipping country to the right store.
</Tip>

<Frame caption="Store to country mapping">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-01.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=8ed2ed917ed2b4845bbb6344e09247a4" alt="Store to country mapping" width="1108" height="417" data-path="images/shopify/shopify-config-01.png" />
</Frame>

## 4 - Contact synchronization

Now you will determine how customers from Shopify are created as contacts in Engage.

Open **Voyado Engage** → **Settings** → **Contact synchronization** in the app.

### Identification method

Pick **Customer identification method**:

* **Identify by email only (recommended)** - lookups only by email (this is unique in Engage).
* **Email first, then phone number** - only if you're okay with the risk of non-unique phone numbers.
* **Phone number first, then email** - the least recommended option.

<Tip>
  Use **Identify by email only** to avoid duplicates.
</Tip>

<Frame caption="Customer identification method">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-02.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=c3557d19347742eac4b3177589b9fda8" alt="Customer identification method" width="1026" height="252" data-path="images/shopify/shopify-config-02.png" />
</Frame>

### Contact type

Choose **Customer contact type**:

* **Create everyone as Member (recommended)** - Ths means all Shopify customers will be stored as Members in Engage.
* **Both Contact and Member** - Not recommended with Shopify's **New Customer Accounts**, because all new customers will effectively end up as Contacts.

<Tip>
  With Shopify's **new customer accounts**, Voyado recommends **Create everyone as Member** so all e-com shoppers are treated as account holders in Engage.
</Tip>

<Frame caption="Customer contact type">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-03.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=1fe7649beef43bafee0bdd55050685e7" alt="Customer contact type" width="1038" height="199" data-path="images/shopify/shopify-config-03.png" />
</Frame>

## 5 - Orders to receipts

This determines when orders in Shopify will be sent to Engage to become transactions / receipts. Do this:

1. In the Voyado Engage app, go to **Settings** → **Receipt sync stage** (wording may vary slightly).
2. Choose when an order should be stored as a Receipt in Engage, either:
   * **When Order is Unfulfilled**
   * **When Order is Fulfilled**.

Once a receipt is created, it can be used for segmentation and point calculations and shown on dashboards in Engage.

<Warning>
  Make sure **Store to Country Mapping** is in place first, otherwise receipts will fail to sync.
</Warning>

<Frame caption="Receipt sync stage">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-04.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=55201c8ee9a5a7e8f37105f47f4b733f" alt="Receipt sync stage" width="1045" height="152" data-path="images/shopify/shopify-config-04.png" />
</Frame>

## 6 - Order notifications

This determines how transactional emails are sent from Engage.

1. In Engage, prepare your automation workflows and email templates for:
   * Order confirmation
   * Order shipped / partially shipped
   * Order cancelled
   * Order refunded
2. In Shopify, for Shopify Plus stores, disable Shopify's native transactional emails (where allowed) so customers don't get duplicates.
3. In the Voyado app **Settings**, enable **Order notifications** (name might vary slightly) so Shopify events trigger Engage automations with mapped order data.

<Frame caption="Order notifications">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-05.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=c4323ab9be2351be2cc0639d92589db9" alt="Order notifications" width="1064" height="147" data-path="images/shopify/shopify-config-05.png" />
</Frame>

## 7 - Back in stock sync

This keeps the inventory levels synced from Shopify to Engage, allowing back-in-stock functionality to work.

### Prerequisites

Before you start configuring this in Shopify, make sure the following are in place in Engage:

* **Product feed connected and active** - Your Shopify product feed must be imported into Engage and updating regularly.
* **Back in stock module enabled** - The Back-in-Stock feature must be activated in the Engage tenant.
* **Back in stock email/SMS template ready** - There is at least one template (usually email) that can be used for the notification.
* **All relevant products exist in the feed** - If a product isn't in the feed, Voyado can't send Back-in-Stock notifications for it.

<Danger>
  If any of these are missing, it's vital that you fix them first (this is usually done together with your Voyado CSM or implementation team).
</Danger>

### Inventory Sync

Do this in the Shopify app:

1. In Shopify Admin, go to **Apps** → **Voyado Engage**.
2. Open the app and go to **Settings**.
3. Find the toggle for **Inventory Sync** and turn it "ON".
4. Make sure the locations that handle online orders are included in the stock levels that are synced (meaning, the same locations Shopify uses for your online store).

This step ensures that when stock levels change in Shopify, Engage is updated and knows when to trigger notifications.

<Frame caption="Back in stock inventory sync">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-06.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=bf6aefc97b517a928110bdb0f3a25839" alt="Back in stock inventory sync" width="1048" height="181" data-path="images/shopify/shopify-config-06.png" />
</Frame>

## 8 - Soft ID Detect App Embed

To enable this in Shopify:

1. In Shopify Admin, go to **Apps** → **Voyado Engage**.
2. Click **View app embed**
3. In the App Embed view, enable the toggle:
   * **Soft ID Detect App Embed**
4. Click **Save** in the top right corner.

<Warning>
  This toggle must be enabled for Soft ID (and tracking features) to work at all.
</Warning>

<Frame caption="Soft ID Detect App Embed">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-07.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=5262113f29c92698512dd12792c2445c" alt="Soft ID Detect App Embed" width="996" height="332" data-path="images/shopify/shopify-config-07.png" />
</Frame>

## 9 - Soft ID decrypt key

Here you'll configure the soft identification decrypt key. This key is required for Shopify to decrypt the identifier coming from Engage-generated email links.

1. Login to **Voyado Engage**.
2. Go to **Administration** -> **Configure Engage**
3. Open **Soft identification** section
4. Copy the **Encryption key** (for the correct environment, usually production)
5. Go back to **Shopify admin** -> **Apps** -> **Voyado Engage**
6. Paste the key into **Soft identification decrypt key**

<Frame caption="Soft identification decrypt key*">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-08.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=29b01be56b37e114f3f5e6b061ac6f7d" alt="Soft identification decrypt key*" width="1046" height="186" data-path="images/shopify/shopify-config-08.png" />
</Frame>

## 10 - Web pixel tracking

Web pixel tracking is used in abandoned cart, abandoned browse and products of interest. Before you start configuring this in Shopify, make sure the following are in place in Engage:

* Your **Product feed** must be imported into Engage and updated regularly
* The **Soft ID Detect App Embed** must be active (see step 8 above for details)

Now follow these steps:

1. In Shopify, open **Voyado Engage** → **Settings** → **Web Pixel Tracking**.
2. Enable **Enable cart tracking** for abandoned cart flows.
3. Enable **Enable identification of customers by email at checkout** (and also **Create a customer in Engage if their email is not found** if you want auto-creation to function).
4. Enable **Enable product view tracking** for products of interest / abandoned browse.
5. Confirm that the environment configured (production or staging) matches your Engage API domain.

<Frame caption="Web pixel tracking">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-09.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=8e898c143bdc710d4bf6dbefc0579a61" alt="Web pixel tracking" width="1185" height="447" data-path="images/shopify/shopify-config-09.png" />
</Frame>

## 11 - Loyalty & promotions

Now you will decide how loyalty and promotions are shown in the storefront by configuring theme blocks and checkout appearance.

### App theme block

1. In Shopify Admin, open **Voyado Engage** and select **Customize theme** in the app.
2. In the Theme Editor, click **Add section** → **Apps** → **Voyado**
3. Insert the **Loyalty / Promotions** block where you want it (for example, **My account**).
4. Now save the theme.

### Vouchers & promotions

In Shopify:

1. Go to **Voyado Engage** → **Settings**
2. Enable **Promotion sync** (for multichannel promotions from Engage)
3. Enable **Loyalty voucher sync** (for reward vouchers from Engage)
4. Enable **Combination options** and choose whether a voucher can be combined with:

* Product discounts
* Order discounts
* Free shipping discounts

In Engage:

1. Set up **Reward vouchers** (from points) as needed.
2. For promotions, make sure the **External promotion code** exactly matches a discount code in Shopify

<Card title="Learn about vouchers in Engage" icon="https://mintcdn.com/voyado-partners/0IxEIB2Y6a--gNYY/icons/help-center-link.png?fit=max&auto=format&n=0IxEIB2Y6a--gNYY&q=85&s=4e7f518f776580d7cdae461a964ea2dc" horizontal href="https://help.engage.voyado.com/hc/en-gb/articles/19114504912156-Reward-vouchers-with-Shopify" width="128" height="128" data-path="icons/help-center-link.png" />

<Card title="Learn about promotions in Engage" icon="https://mintcdn.com/voyado-partners/0IxEIB2Y6a--gNYY/icons/help-center-link.png?fit=max&auto=format&n=0IxEIB2Y6a--gNYY&q=85&s=4e7f518f776580d7cdae461a964ea2dc" horizontal href="https://help.engage.voyado.com/hc/en-gb/articles/19113148979100-Multichannel-promotions-with-Shopify" width="128" height="128" data-path="icons/help-center-link.png" />

<Frame caption="Promotions & reward voucher sync">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-10.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=7735c5ef4e1891bd082ed8e4a4ac1f42" alt="Promotions & reward voucher sync" width="1263" height="464" data-path="images/shopify/shopify-config-10.png" />
</Frame>

### Loyalty checkout extension

If you're on Shopify Plus:

1. Go to **Settings** → **Checkout** → **Customize**.
2. Add the **Loyalty Checkout Extension** (usually near the discount code field).
3. Configure whether to require login in order to show offers.
4. Configure label overrides (optional).
5. Configure whether you show promotions, vouchers, or both (depends on which sync toggles are on).

<Frame caption="Loyalty Checkout Extension">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-11.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=a3dabafdbc2f6c1a0cedcb7c8c30baaa" alt="Loyalty Checkout Extension" width="1719" height="771" data-path="images/shopify/shopify-config-11.png" />
</Frame>

<Warning>
  The Checkout UI extension applies for Shopify Plus customers only.
</Warning>

## 12 - Data import

In this step you will be importing existing customers and orders. If you're onboarding an existing Shopify store, run these imports so that Engage starts with the full customer history.

In Shopify, open **Voyado Engage** app → **Data Import**.

### Import customers

1. Choose **Import customer data** and click **Submit**.
2. All Shopify customers (including Shopify POS) are created in Engage if they don't exist.
3. If they do exist, the app just fetches their `contactId` and stores it in Shopify for future linking.

### Import orders

1. In the same screen, choose the date range (**Start date** / **End date**) for orders you want to migrate.
2. Click **Submit** to import orders.
3. Orders are imported only when their customer already exists in Engage (hence customers first).

<Warning>
  Be sure to temporarily disable Engage automations that trigger on "New contact registered", "Product purchase", or "New return" so you don't accidentally trigger send-outs during the import of historical data.
</Warning>

<Frame caption="Data import">
  <img src="https://mintcdn.com/voyado-partners/TDg7PtzIaw6l-d0n/images/shopify/shopify-config-12.png?fit=max&auto=format&n=TDg7PtzIaw6l-d0n&q=85&s=9c3ee932e296fc6e5fd53eb6c0a8be92" alt="Data import" width="1296" height="457" data-path="images/shopify/shopify-config-12.png" />
</Frame>
