- 4 Minutes to read
- Print
- DarkLight
Profile Edit
- 4 Minutes to read
- Print
- DarkLight
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. | 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 |
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. |
Attributes | This will be used to feed standard, custom, and member attributes in the background | Examples: optin: attribute “user.CustomAttribute.optin”, value “false” 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 |