Functionalities

The profile edit template implements the following functionalities that can be optionally turned on.

Unlimited attributes feed

You can configure the attributes that you want contacts to be able to handle. There is no limit to the number or type of attributes (standard, custom, and member).

You can define which attributes are required and which are not. Additionally, you can define specific input types to leverage built-in validations in your contacts’ browsers (i.e., text, email, date, number, or checkbox). 

Any other specific validation function must be manually implemented via JavaScript.

Multiple unsubscription groups

It is possible to let the contacts select what newsletters they want to receive. This will translate into subscription and unsubscription operations.

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, if a contact unticks any of the newsletters they were subscribed to, the setup will show a mandatory selection to pick an unsubscription reason, and it will save it into an attribute in Engage.

Success event

You can execute JavaScript functions upon saving. 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

Example 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_profile

Confirmation LP URL path

This will be part of the link to the page

It must begin with /public/m/

/public/m/quickstart_profile_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

Profile

Page description

This is used in the page metadata

Edit your profile and change your preferences.

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, subheading, 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: “Your profile”, “Check your profile and edit your preferences.”, “Email Address”, “First Name”, “Last Name”, “Date Of Birth”, “Your newsletters”, “Too many emails”, “I am not interested anymore”, “Unsubscription reason”, “Save”

it: “Il tuo profilo”, “Controlla il tuo profilo e modifica le tue preferenze. “,“Indirizzo email”, “Nome”, “Cognome”, “Data di nascita” , “Le tue newsletter”, “Tropppe email”, “Non sono più interessato”, “Motivo della disiscrizione”, “Salva”

Success event

This JavaScript code will be executed upon save

This must be a valid JavaScript code.

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 either 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 be used to render a mandatory selection with options for the user 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