Functionalities

The unsubscription template implements the following functionalities that can be optionally turned on when necessary.

Unlimited attributes feed in the background

You can configure the attributes that you want to populate in the background. There is no limit to the number or type of attributes (standard, custom, and member). These attributes won’t be shown on the screen, and you can define a static value for them to be populated (e.g., opt-in = false, unsubscription_source = ‘email’, etc.) or a dynamic timestamp (e.g., optout_date = <current date>).

Any other dynamic value must be manually implemented via JavaScript.

Multiple unsubscription groups

By default, the implementation unsubscribes contacts from the sendout group. Let the contact select the groups they want to unsubscribe from (i.e., they can choose the newsletters they wish to receive).
On the other hand, this also allows the contact to subscribe to new groups from the list, like in a preference center.

Opt-in mode

If multiple unsubscription groups are turned on, the contact will also have the ability to subscribe to new groups.
You can specify whether subscriptions must use SOI (single opt-in) or DOI (double opt-in). SOI is used by default.

Reason for unsubscription

With this feature, the setup shows a mandatory selection to pick an unsubscription reason and saves it into an attribute in Engage.

Link to the preference center

You can optionally render a text and a CTA to address unsubscribers to change their preferences rather than unsubscribe.

Success event

You can execute JavaScript functions upon unsubscription completion. This can be useful to fire Intelligence events, for instance.

The exact JavaScript code must be provided to include it in the setup.

Translations

The setup provides out-of-the-box support for internationalization, including translations for EN, IT, and DE texts. An unlimited number of languages can be added, and the relevant translations will be shown based on the contacts’ browser-preferred language.

You must provide all translated texts for Mapp to include them in the setup.
You can define the default/fallback language.

UI

The implementation is done in the form of a standalone page.

You can personalize the font (websafe, Google fonts, or custom fonts), primary and secondary colors, the maximum width of the contents, and your logo.

If your layout and design don’t fit the above options, they will require a custom implementation.

Specification

Here is a list of details Mapp needs from you to set up the landing page.

All of these details are mandatory, and none must be skipped.

Specification

Description

Examples and limits

LP URL path

This will be part of the link to the page

It must start with /public/m/

Example: /public/m/quickstart_unsubscribe

Confirmation LP URL path

This will be part of the link to the page

It must begin with /public/m/

Example: /public/m/quickstart_unsubscribe_confirm

Default language

This is the base language that the page metadata will use. It will also be used as a fallback language.

Languages must be expressed in the Alpha-2 format. Example: en

Page title

This is shown in the browser tab as well as in the page metadata

Unsubscribe

Page description

This is used in the page metadata

Unsubscription page

Favicon

This is shown in the browser tab

It must be a URL from the Mapp Engage content store.

Fonts stack

This font setting will be applied to the whole page

'Open Sans', Arial, Helvetica, sans-serif

Google font URL

This is in the case of custom fonts hosted by Google

https://fonts.googleapis.com/css?family=Open+Sans:400,700,300

Custom font URL

This is in the case of custom fonts hosted in Engage’s content store

It must be a URL from the Mapp Engage content store.

Primary color

This is used as the main color for the page text

Example; #000000

Secondary color

This is used for checkboxes, CTAs, and links

Example; #0d6efd

Light secondary color

This is used as a shadow effect

Example; #86b7fe

Maximum width

This is used to limit the size of the content

The width must not be less than 600px.

Example: 768px

Supported languages

This is used to provide a translated copy

Languages must be expressed in the Alpha-2 format. Example: en, it, de

Translated texts

These texts will be shown for the heading, input fields, unsubscription reasons, and CTAs for each language.

Newsletter names are not translated.

The texts must be provided in their sequential order as they will appear on the screen.

Examples:

en: “Unsubscribe from our newsletters”, “Email”, “Too many emails”, “I am not interested anymore”, “Unsubscription reason”, “Unsubscribe”

it: “Disiscriviti dalle nostre newsletter”, “Email “,“Troppe email”, “Non sono più interessato”, “Motivo della disiscrizione”, “Disiscriviti”

Success event

This JavaScript code will be executed upon unsubscription completion

This must be a valid JavaScript code.

Example: window.parent.postMessage('wt-mcp-track-click', '*');

Admin API user ID

This will be used to make API calls to Engage

This must be the Admin user ID in Mapp Engage. Example: 13193048742

Opt-in mode

This will be used in the subscription API call

It can be OPT_IN or DOUBLE_OPT_IN. Example: OPT_IN

Multiple unsubscription group IDs

This will be used to show several options for a user to subscribe/unsubscribe

They must be existing group IDs.

Examples:

Special Offers: 1301434409
Weekly Updates: 1301601510

Brand’s logo and alternative text

This will be used to render the client’s logo in the header

It must be a URL from the Mapp Engage content store.
The image size should be approximately 300x100 pixels.

Attributes

This will be used to feed standard, custom, and member attributes in the background

Examples;

optin: attribute “user.CustomAttribute.optin”, value “false”
unsub_date: attribute “user.CustomAttribute.unsub_date”, value <current date>

For member attributes, the relevant group ID must be specified as well

Reason for unsubscription and attribute name

This will render a mandatory selection with options for users to select why they unsubscribe.

It can be either Yes or No. If yes, provide an attribute name for the unsubscription reason.

Example: Yes – user.CustomAttribute.unsub_reason

Link to preference center used and URL

This will show a CTA to redirect the user to the profile/preference center LP.

It can be either Yes or No. If yes, provide a URL to the profile LP.

Example: Yes - /public/m/quickstart_profile