Skip to main content

Using the integration

Here's how you configure the Voyado Engage app for Shopify.

Migrating your data

You can migrate customers and orders from Shopify to Engage to start your Engage journey with your data already in place.

shopify_migration_1.png

Warning

The migration of customers and orders can in theory activate automation flows for those customers in Engage. So if you have automations that are set up to trigger on "New contact registered", "Product purchase" or "New return", you should deactivate them during this migration.

Migrating customers

This allows you to migrate your Shopify customers to Engage. The App will only identify or create the customer in Engage, and will not update the information of any customers that already exist.

shopify_migration_2.png

Migrating orders

There is a option to migrate all Shopify orders, both purchases and returns, to Engage. The customer who made the order must exist beforehand for an order to be added to Engage. You can decide which orders you want to sync with Engage by setting the Start date and the End date. This will sync only those orders created inside that time window.

shopify_migration_3.png

Multi-market support

If you have several Shopify stores for each market, you can install the Voyado Engage app for each Shopify store and connect each one to a corresponding store in Engage.

If you have one Shopify store with several markets set up, you can map each market to a different store in Engage.

Contact types

When you configure the app, you have two options on how to store your customers in Engage:

  • Store all customers as contact type “Member“. If a merchant chooses this configuration option, then the consent “hasAccount“ is used to tell apart guests and account holders.

  • Store account holders as "Member" and guests as “Contact“.

Shopify will store a contact's shopifyId in the externalId field the Engage contact.

If you have chosen to work with two contact types, the app will automatically upgrade an already existing “Contact” to type “Member” when creating an account.

Preferences / Accepts email

The Shopify app sets the Accepts email flag at two different times:

At customer creation: When a customer is created in Engage, the Accepts email flag is set based on what the customer chose to do. For example, if they sign up for My Pages without setting any consent, Accepts email will be set to "false" in Engage, since the customer hasn’t opted into marketing. But if the customer opts in for the newsletter, the Accepts email flag will be set to "true" in Engage, since they have now opted into marketing.

At checkout: If the customer opts in during checkout in Shopify, that opt-in flag will be sent to Engage and used to update the preference.

Newsletter subscribers

If a merchant is using the native Shopify theme-block for collecting subscribers, these will be synced to Engage.

If the merchant is using a third-party platform, then they will need to either connect that platform with Voyado Engage OR change that platform to one which already has an integration to Engage, such as Redeal or Triggerbee.

Contact types and loyalty

If you are using loyalty and granting reward points, how those points are collected (or not) depends on how your contact types have been set up.

If you've chosen to make everyone contact type "Member" then everyone can collect points.

If you've chosen to use both "Member" and "Contact" then only Members can collect points.

In both situations you can exclude certain Members from reward points by setting up a filter in the Rewards module. This needs to be done by your Voyado team, so contact them for help.

Displaying loyalty data

There is a specific Engage theme block available in Shopify. It will be populated with a contact's loyalty data if they have logged in or if they've entered the site through an email sendout (soft-identification), allowing them to be identified.

This theme-block displays:

  • Available promotions

  • Available vouchers

  • Reward point balance

  • Member level

Note

Theme block functionality in the Voyado Engage app will be further developed to support multiple theme blocks, each one displaying a specific combination (or just one) of these values.

Syncing receipts to Engage

Receipts for purchase are synced for both account holders (Member) and guests (Contact). In the app settings you can choose if this happens at the order confirmation stage or at the order fulfilment stage.

Receipts for returns are synced to Engage when a refund is registered in Shopify. Only the products that have been refunded will be sent to Engage, not the whole order.

Transactional communication (Shopify plus merchants only)

Important

Discounted products in Shopify are not defined as discounted in the payload received by Engage when triggering transactional emails. This means that discounts in emails can't be visualised.

These states will trigger transactional communication through Engage:

  • Order confirmed

  • Order fulfilled

  • Order cancelled

  • Order refunded

Receipts for returns are synced to Engage when a refund is registered in Shopify. Only the products that have been refunded will be sent to Engage, not the whole order.

Multi-channel promotions

The price logic of promotions exists in Shopify and so discounts are created there. On the Engage side, you create a multi-channel promotion and enter the discount code shown in Shopify as the external code field in Engage.

See here for more details.

When a contact logs into their account, the app will identify them and generate discounts in Shopify based on their available promotions in Engage. The theme block will show the contact what discount codes they have available and they will be able to use those in the discount code field during checkout.

Here are the steps in setting up a multi-channel promotion in Shopify and Engage.

1 - In the Engage app in Shopify

Select the tick box below.

enable-promotion-sync.png

2 - In Shopify

Create the discount in Shopify. This is done under "Discounts" in the left-hand menu.

create-discount-1.png

To add a new, select “Create discount”:

create-discount-2.png

Choose discount type (the price rule):

create-discount-3.png

Generate a code (this will be the one you enter into Engage later):

create-discount-4.png

Customer eligibility is set to "specific customers". Add a dummy contact that can be assigned the promotion (this needs to be done because otherwise the discount can't be saved in Shopify). Once a customer logs in and has a certain promotion / voucher from Engage, the list will be automatically updated.

Hit "Save discount" and you are ready in Shopify.

3 - In Engage

Go to Engage and create a promotion. Enter the discount code from Shopify:

create-promotion-1.png

Activate the promotion and assign it to your customers.

Once a customer is logged in, the promotions will be synced and can now be used with a purchase:

create-promotion-2.png

Once the order is placed, the promotion will be redeemed in Engage.

It is also possible to combine two discounts in Shopify (order / product discount with a free freight discount). Such discounts are possible to sync to Engage both during assignment and redemption.

Some other good-to-know information:

  • If a customer has used a promotion, and that specific promotion is assigned again, we will not be able to re-sync that for now since we include both the redeemed and active external code in our API as today.

  • If a customer has two of the same external code (and hasn't used any of them), Shopify will only be able to handle one of them, which means that both will be redeemed in Engage as of today.

  • Shopify only fetches available and used promotions from Engage once the customer logs in, and, in theory, the customer can use promotions without being logged in. So if the offer is already synced to Shopify, and the offer is redeemed from another source than Shopify, it can in theory be used again in Shopify since the customer hasn’t yet logged in.

Caution

A user's promotions are only synced when they land on a page that contains the app theme block that's connected to loyalty. For example, if the theme block is on the "My Account" page, then promotions for that user will get synced when they visit “My Account”. So be sure to add the app theme block to the places on the site that require syncing to happen.

Reward vouchers

When a contact logs into their account, the app will identify them and generate discounts in Shopify based on their available reward vouchers in Engage. The theme block will display the IDs of vouchers available and the contact will be able to use those in the discount code field during checkout.

Here's how to set up reward vouchers inn Shopify and Engage.

1 - In the Engage app in Shopify

Select the tick box below:

enable-loyalty-voucher-sync.png

2 - In Engage

Here in Engage you can convert points to Engage vouchers for eligible customers. Then, the next time the customer is identified in Shopify, the Engage App will automatically create the relevant discounts in Shopify, based on the unique discount codes returned in the API-response from Engage. These will be created in the local currency.

If you are operating in several markets with different currencies, you must set up a currency conversion table in Engage, with the help of your Voyado team. The conversion table is used when generating the discounts in Shopify so that the correct currency is used, matching the default currency of your Shopify store.

The discount, once created to Shopify, will look something like this. The local currency is shown under "Fixed Amount". Other information shown is which customer is eligible for the discount, whether it can be used once or not, and the dates (coming from Engage) over which the discount is valid.

voucher-setup-1.png
voucher-setup-2.png
voucher-setup-3.png

Note

If a customer uses a voucher and someone reactivates it in Engage, this will start a re-sync of the voucher the next time the customer logs in.

Some other good-to-know information:

  • Shopify only fetches available and used vouchers from Engage whenever the customer logs in, and in theory the customer can use an offer without being logged in. So if an offer is already synced to Shopify, and the offer was redeemed through another channel then Shopify, in theory it can be used again in Shopify since that assignment is still available because the customer hasn’t logged in.

Caution

A user's reward vouchers are only synced when they land on a page that contains the app theme block that's connected to loyalty. For example, if the theme block is on the "My Account" page, then vouchers for that user will get synced when they visit “My Account”. So be sure to add the app theme block to the places on the site that require syncing to happen.

Web pixel tracking

Web pixel tracking allows the Shopify-Engage integration to track user behavior in a way similar to a cookie, and grants many useful functions.

Important

Compatibility with the Customer Privacy API is enforced, meaning that the Web Pixel App will only run when consent is granted in the context that the consent is required.

There are some prerequisites for web pixel tracking to work:

  • The tracking module Engage must be enabled.

  • The product feed import setup in Engage is connected to the locales of your Shopify store (For example, en-GB, en-SE).

  • The “Soft Identification Embed Block” in your Shopify Engage app is enabled.

  • The “Voyado Soft ID Decrypt Key“, provided by your Voyado team, has been entered.

  • The email template module for abandoned cart emails exists.

  • Marketing automations are in place to trigger abandoned cart emails.

1 - Identification

The app supports identification in two ways. Visitors are either identified when logging in or when they enter your site through an email sent from Engage. Once a visitor is identified, the app will connect incoming events to them and also previously anonymous events that were connected to the same session and cookie.

2 - Cart tracking

By enabling this feature you will start tracking the cart activity of your visitors on-site and trigger abandoned cart email through Engage. Every time the cart updates, the app will trigger a cart event to Engage containing the products in the current state of the cart.

web-pixel-tracking-cart.png

Read more about how to work with abandoned cart automations.

3 - Cart abandonment

You can decide in Engage when a cart should be considered abandoned by entering those criteria while setting up your automation flow.

Read more about how to succeed with your abandoned cart campaign.

4 - Locales

When setting up your automations, you will be able to use locale as a filter in order to send emails in the correct currency and language, where each locale is connected to a separate product feed.

There is a liquid variable in Shopify which is set based on which locale the customer is shopping in. So if a theme has en-US setup on the store, and you have used a language selector to view the site in US english, then the app will pick up from the theme that the current locale is en-US and use that in events.

This can be seen in Shopify under "Settings & Languages" where you can view all available published languages on the store. "Settings & Markets" will show the setup markets (locales) on the site and there you can check the default languages assigned to each market.

5 - Product view tracking

By enabling this feature, the app will start collecting a visitor's product views on site which you can then segment and act on in Engage.

web-pixel-tracking-product-view.png

Read more about how you can leverage from this data.