Emarsys Loyalty provides an option to migrate the contacts from your existing loyalty program to the new one in the Loyalty add-on.
The following parameters can be migrated to the new program:
- Member status (tier)
- Member points, such as:
- Status points (points to advance to the next tier)
- Balance points (points to redeem)
On the day of migration, send a .csv
file with below mentioned columns to your Implementation Consultant so the Loyalty team can migrate your contacts and their data.
The Loyalty system treats migrated members as new members. The migration day will be considered as the joining date.
This affects the following parameters:
- Yearly calculation for tiers - if you set the yearly calculation as 12 months from the date of joining, the next calculation will be in 12 months from migration day. In such a scenario, the members will stay in that tier for at least 12 months.
We are not migrating the join date of the previous program.
- Point expiration - The validity start date for all points migrated will be the migration date. Once the points are migrated, their expiration date will be adjusted to the newly defined plan settings.
We are not migrating the previous point expiration dates.
Migration will only be done for contacts who have not joined the loyalty program yet. Test contacts or contacts that for some other reasons are already in the loyalty program, will not be migrated.
CSV file specifications for contacts
-
This
.csv
file has to be sent with all contacts to be migrated. - Do not use decimal separators (comma, dot) in your numbers.
Do not send 1.000 or 1,000. Do send 1000.
The .csv
file must contain the following columns:
CSV column header | Description | Type |
---|---|---|
userId |
The unique contact identifier. This has to be the same as in the uploaded sales data. | string |
tierName |
The name of the tier to be assigned to your contact. Without a tier name, the contact will be placed automatically in the bottom tier (tier 1). |
string |
pointsToSpend |
If existing points need to be migrated, their sum can be defined here. Point expiration is calculated from the moment points are migrated. If points need to be reset after migration, use 0 here. |
float |
statusPoints |
Define the available status points for the customer after migration. Alternatively, use the tierName column to assign the customer to a starting tier after migration. In this case, leave this column empty. The customer will automatically receive the required status points for the designated tier. |
float |
cashback |
If you have a Spend & Benefits plan and want to migrate cashback, please enter here the amount of cashback for the customer. If no cashback should be given or you don’t have a spend plan, enter 0 . |
float |
shouldJoin |
Enter TRUE into this column for each customer. |
string |
shouldReward |
This parameter is used by migration scenarios. When set to |
string |
The tier name has to be written exactly how it is defined in the Emarsys Loyalty plan settings.
If the tierName
field stays blank, the Loyalty system will distribute members among tiers based on their existing status points and the new tier requirements. For example, if a member has enough points for Silver, he will be added to this tier including the existing status points.
-
statusPoints
(optional): The amount of status points to migrate that this member will see in the wallet.
For example, this customer starts the new plan as a silver member with 540 status points (points from previous plan):

If you keep the statusPoints
field blank, the status points will be 0 and the member will be distributed into the tier defined in column: tierName
.

-
pointsToSpend
(optional): The amount of points for spending (to redeem). The validity period of the points will start from the moment the contact is migrated. Alternatively, you can decide that the contacts will start without points to spend. -
shouldJoin
: Set the value for this column to “TRUE
” for all contacts. -
shouldReward
: This parameter is used by migration scenarios. When set toTRUE
, marked contacts receive the default join reward after migrated into the Loyalty program. Contact marked withFALSE
do not count as new joiners, thus they do not receive join rewards.
CSV file specification for vouchers
Loyalty allows you to migrate the current voucher codes of your users into the Emarsys loyalty system, so that they can continue to see and use the same codes.
For the voucher migration we need below fields:
CSV column header |
Description |
Type |
---|---|---|
userId |
The contact identifier for Loyalty and Smart Insight, for example, email. | string |
externalId (optional: can be used instead of userId ) |
The hashed userId, this equals the loyaltyId field in Emarsys contact database. | string |
voucherType |
To define if the voucher is one-time or multi, use use one of these values: one_time / yearly. | string |
voucherName |
The name of the voucher as it should appear in the Wallet and the API. | string |
iconName |
Then icon that should appear for the voucher. As the default icon, use this string: basket-colors-1. ** | string |
code |
The voucher code itself | string |
expiration |
The validity deadline of the voucher. After this date, the voucher will vanish from the Wallet and the API. | string - Specify it in epoch time in millisecond and not seconds. Example: 3/4/2021, 9:32:37 AM = 1614843157819 |
** If you want to have a different icon, please ask your Implementation Consultant to upload your desired icon into the loyalty system. You will be provided with the icon name to be used inside the file.
Important for migration: The same voucher code can be given only once to the same user, but two different users can get the same voucher code.
After migration, the voucher will appear in the Wallet as below (example: 10$ cashback):
