Functionalities

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

Unlimited attributes feed

You can configure the attributes that you want new subscribers to populate. 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). 

Mapp also provides a predefined extended validation function for email addresses with an advanced regular expression.

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

For privacy policy opt-in and T&C opt-in, there are dedicated options. 

Multiple subscription groups

By default, the implementation subscribes new contacts to one group. It is also possible to let the contact select the groups they want to subscribe to (i.e., they can choose the newsletters they wish to receive).

Opt-in mode

You can specify whether subscriptions must use SOI (single opt-in) or DOI (double opt-in). SOI is used by default. Also, see our recommendation for the opt-in process.

Overwriting prevention

A special check is run by default to prevent an existing contact from being overwritten. This security check prevents malicious users from changing other users’ attributes or subscriptions. The contact is searched system-wide. This check can be turned off if necessary.

Success event

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

There are three different options for the layout of the subscription form: standalone page, popup, and footer.

For all of them, you can personalize: the font (websafe, Google fonts, or custom fonts), primary and secondary colors, and the maximum width of the contents.

For standalone and popup layouts, you can also set your logo.
For the popup layout, you can set a creative image as well.

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.

These details are mandatory, and none must be skipped unless the layout does not support them.

Specification

Description

Examples and limits

Additional Remarks

LP URL path

This will be part of the link to the page

It must start with /public/m/

Example: /public/m/quickstart_subscribe

All cases

Confirmation LP URL path

This will be part of the link to the page

It must begin with /public/m/

Example: /public/m/quickstart_subscribe_confirm

All cases

Layout

Standalone, popup, or footer layout

Popup

All cases

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

All cases

Page title

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

Example: Subscribe

All cases

Page description

This is used in the page metadata

Example: Subscribe to our newsletter!

All cases

Favicon

This is shown in the browser tab

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

All cases

Fonts stack

This font setting will be applied to the whole page

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

All cases

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

In all cases, if Google fonts are used

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.

In all cases, if custom fonts are used

Primary color

This is used as the main color for the page text

Example: #000000

All cases

Secondary color

This is used for checkboxes, CTAs, and links

Example: #0d6efd

All cases

Light secondary color

This is used as a shadow effect

Example: #86b7fe

All cases

Maximum width

This is used to limit the size of the content

The width must not be less than 600px.

Example: 768px

All cases

Supported languages

This is used to provide a translated copy

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

All cases

Translated texts

For each language, these texts will be shown for the heading, subheading, input fields, privacy policy disclaimer, T&C disclaimer, and CTA.

Newsletter names are not translated.

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

Examples:

en: “Sign Up To Our Newsletter”, “Subscribe to our mailing list to receive updates on new arrivals, special offers, and other discount information.”, “Email Address”, “First Name”, “Last Name”, “I agree to the”, “terms & conditions”, “Subscribe”

it: “Iscriviti alla nostra newsletter”, “Iscriviti alla nostra mailing list per ricevere aggiornamenti sui nuovi arrivi, offerte speciali e altri sconti.”, “Indirizzo email”, “Nome”, “Cognome”, “Accetto i”, “termini e condizioni”, “Iscriviti”

All cases

Success event

This JavaScript code will be executed upon subscription completion

This must be a valid JavaScript code.

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

In all cases, if necessary

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

All cases

Opt-in mode

This will be used in the subscription API call

It can be OPT_IN or DOUBLE_OPT_IN. Example: OPT_IN

All cases

Overwriting prevention

This will be used to prevent overwriting existing users

It can be either Yes or No. Example: Yes

All cases

Single subscription group ID

This will be the group where new subscribers will be added

This must be an existing group ID. Example: 1301729675

Mandatory only for footer layout

Multiple subscription group IDs

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

They must be existing group IDs.

Examples:

Special Offers: 1301434409
Weekly Updates: 1301601510

Mandatory only for standalone and popup layouts if the single subscription is not used

Brand’s logo and alternative text

This will be used to render your logo in the header

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

Mandatory only for standalone and popup layouts

Creative image and alternative text

This will be used to render a side image

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

Mandatory only for popup layout

Attributes

This will be used to render and feed standard, custom, and member attributes

Examples:

email: type “email”, attribute “user.Email”, required
firstname: type “text”, attribute “user.FirstName”, not required
purchase_date: type “date”, attribute “user.CustomAttribute.pur_date”, not required

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

Mandatory only for standalone and popup layouts

Privacy policy opt-in used, URL and attribute name

This will be used to render a mandatory checkbox with a disclaimer and link to the policy

It can be either Yes or No.
If yes, provide an attribute name and a URL to the privacy policy.

Example: Yes – user.CustomAttribute.optin - https://mapp.com/privacy/

For standalone and popup layouts, if necessary

T&C opt-in used, URL and attribute name

This will render a mandatory checkbox with a disclaimer and link to the T&C.

It can be either Yes or No.
If yes, provide an attribute name and a URL to the T&C.

Example: No

For standalone and popup layouts, if necessary