Skip to main content
This guide walks you through integrating your e-commerce platform with Voyado Engage to unlock powerful loyalty, communication, and personalization capabilities.
In Engage, customers are called contacts. This includes members, subscribers, and prospects.

1. The prerequisites

To start building an integration with Voyado Engage, here’s what you need:
  • An Engage tenant: This is the instance/environment connected to your Engage acount
  • API key: You must generate this in Engage and use it in all API interactions
  • Base URL: You must know your base URL of the form https://[tenant].voyado.com
  • Contact types: At least one contact type (such as “Member”) should be configured
  • Stores: At least one store, retpresented by storeExternalId should be defined for test data
Additional data (custom attributes, more stores, etc.) can be added later as needed.
Start by aligning with your Voyado contact (e.g. project manager or partner lead) to ensure:
  • You have access to the correct API credentials
  • There’s a plan for data structure: contacts, transactions, consents
  • Configuration is being handled in parallel if not yet complete

2. The Engage API

Syncing customer data, transactions and other data between your systems and Engage is done via the Engage API. You will need to know how to work with the API and what security considerations and best practices exist.
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

Learn about the Engage API

2.1 Required parameters

All integrations with Engage require a secure API connection. For that, the following parameters must always be configured and stored safely in your integration layer:
  • Base URL - Your Engage environment endpoint
  • API Key - Your authentication key generated in Engage
  • Source - A string identifying the system or integration sending the data (such as “ECOM”)
  • StoreExternalId - A unique identifier per store, site, or market
These parameters are used in all API calls when creating contacts, submitting orders, sending receipts, or triggering transactional emails.

2.2 Integration approaches

Integration can be done through:
  • Using a custom build which you code for your specific client setup
  • Developing a reusable connector (if you are using multiple clients)
For single-client, bespoke solutions, configure the parameters directly in your application or middleware.
This setup is suitable when only one client environment needs to be connected to Engage.
For multi-client or partner solutions, you should build a configurable onboarding interface or settings panel. Each client should be able to enter and manage their own connection details, ensuring secure, isolated, and scalable integrations across environments.

3. Working with customer data

When handling customers in your e-com, you always start by checking if they exist as a contact in Engage. If they don’t exist you’ll need to create them there before proceeding.
Engage allows custom fields in the customer data model. Your e-com should also support a dynamic customer model to let clients decide what values to display and edit for each customer on-site.

3.1 Identifing a customer

The default unique identifier for contacts in Engage is email but other options exist such as:
  • Mobile phone number
  • Member number
  • Personal identiy number
See here how to find a specific contact in Engage:
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

See how to search for a contact

3.2 Registering a customer

If no match is found, you will need to create a new Engage contact for the cusomter using available data (name, email, address, etc.).
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

See how to create a contact

It is recommended to manage all contacts under the Member contact type while using consents or custom attributes to differentiate between them. This provides greater flexibility and control over communication flows, keeps all contact data centralized, enables a unified data structure, and makes segmentation, automation, and reporting in Engage both easier and more powerful.
Include the following in your creation payload:
  • Source: For example “ECOM”
  • StoreExternalId: Reflects the customer’s market/shipping country
  • Country: Set from address, site geo-location, or store settings
  • Language: Based on site language or customer choice (ISO 639-1)
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

Learn about contact fields

3.3 Displaying customer info

The /contactoverview endpoint is used fetch the customer’s full data profile in Engage (known as the enriched profile).
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

Learn about the contactoverview endpoint

Useful data points from the enriched profile are:
  • First name
  • Last name
  • Address
  • Gender
  • Birthday
  • Communication preferences
  • Loyalty level
  • Points
  • Available vouchers
  • Available promotions
  • Consents
Use this data, for example, to display loyalty data on “My Pages” and in checkout.
Multi-channel promotions set up in Engage and can be triggered via an external code at checkout. No manual input is needed.
Points are converted to vouchers which give discounts. Vouchers support multi-currency and are shown in local currency defined for that market.

3.4 Updating customer info

When a customer updates their data (for example name or address), you’ll need to push that update to Engage.
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

Learn about updating contacts

Never include fields with empty values in your update payload. All values given in an update payload will overwrite the existing data stored in Engage, even if the values given are empty.

4. Working with receipts

Engage uses receipts (the total data of a customer’s transaction) to enable personalized experiences and analytics.

4.1 Sending receipts

You should sync the receipt to Engage when the order is completed (delivered). This ensures that point calculations are based only on what the customer has actually received.
Since orders can be partially fulfilled or have items cancelled along the way, syncing too early could result in inaccurate points being awarded for products that were never delivered.
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

See how to register a purchase

4.2 Receipt details

Here are some important details to consider about receipts:
Discount values should be distributed across all items in a purchase. Include promotionId or checknumber if a promotion or voucher was used.
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

Learn about discounts

https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

Learn about promotions

Include the local currency and conversion rate if different from the client’s group currency.
Don’t include freight in the receipt if the client doesn’t want to award points on shipping.

4.3 Handing returns

When a return is made, you must send a return receipt containing the details of the returned products.
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

Learn about returns

5. Working with orders

Engage supports the tracking of the entire order journey, and can also send communications related to order updates and changes. Order updates can be sent for:
  • Pending orders
  • Cancellations
  • Shipments
  • Deliveries
  • Returns
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

Show me about orders

5.1 Order communication

When the state of orders change, marketing automation flows in Engage can be triggered.
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

Learn about order actions

6. Promotions and vouchers

Use Engage’s segmentation and automation tools to assign individual promotions or vouchers, such as “10% off for Gold members” or “€10 Voucher“. Some important points about promotions and vouchers:
  • Promotions are created in Engage and referenced in the e-com by an external ID
  • It is the e-com that handles pricing rules and redemption logic
  • It is Engage that handles personal assignments of the discount

7. Web activity tracking

User behaviour on-site can be traked with either:
  • Tracking script (client-side)
  • REST API (server-side)
The client-side tracking script is the recommended approach.
You can track:
  • Product page views
  • Cart events
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

Learn about web activity tracking

8. Soft Identification

Soft identification connects a contact to a session (for example, by an email link) without requiring any login. Engage decrypts an encrypted JSON in the URL query string to perform the identification, Each client has a unique shared key for decoding the identification token.
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

Learn about soft identification

9. Data migration before go-live

Before go-live, we recommend importing your historical data into Engage to ensure continuity in customer insights and personalization. Common data that should be migrated incudes:
  • Contacts (members, newsletter signups)
  • Transactions (purchases, returns, receipts)

9.1 Migrating contacts

This can be done in several ways:
  • Contacts API: Used for real-time or low-volume imports of contact data
  • Batch contacts API: Best option for importing large volumes of contact data
  • CSV upload: Suitable for smaller one-time imports via the Engage UI
  • XML upload via FTP: For scheduled or high-volume contact imports

9.1 Migrating transactions

This can be done by:
  • Transactional API: For full control and real-time logging of purchases and returns
  • XML via FTP: Recommended for batch imports of large transaction volumes
The batch API is available for contacts only, not for transactions.
Always follow Voyado’s API rate limits to avoid throttling during migration:
https://mintcdn.com/voyado-partners/uzZabf3Vznawr8GM/icons/developer-link.png?fit=max&auto=format&n=uzZabf3Vznawr8GM&q=85&s=edcf2da0b17a913e2d7896d3f6e9aeb3

See the API rate limits