Handle Unsubscribes in Emails

Overview

Marketers using emails must provide an Unsubscribe link in their non-transactional communications to maintain a good domain reputation and comply with regulations. A user hence unsubscribing should be avoided from future communication of a similar nature.

MoEngage as a platform helps marketers adhere to the rule above by providing the following types of Subscription Management:

  • Global Unsubscribe
  • List-Unsubscribe
  • Subscription Categories

Types of Subscription Management in MoEngage Emails

Global Unsubscribe

As the name suggests, this is a way for users to unsubscribe from all non-transactional emails of your brand or business. When a user clicks this link, they can either be unsubscribed directly or be redirected to a landing page to get double confirmation before unsubscribing.

List-Unsubscribe

List-unsubscribe is an ISP-provided way to unsubscribe with just one click. It goes into your email header, and your mailbox providers decide whether to show it to the recipients depending on the reputation, volume, and engagement with the sender. While this used to be a best practice that the clients could follow, since 2024 this is a mandatory compliance to be fulfilled according to Google and Yahoo.

Subscription Categories

This is a way for users to selectively unsubscribe from categories of your communications. Suppose you send emails to share newsletters, product updates, and promotional categories. You can use them to let users subscribe/unsubscribe selectively from the categories that they are interested/not interested in from a single page.

In short, while Subscription Categories are an optional way of managing subscriptions, the other two are mandated for all bulk email senders in email marketing. For more information on subscription categories, click here.

MoEngage Managed vs. Custom or Self-Managed

Broadly, MoEngage offers marketers the following ways to set these up:

  • MoEngage Managed
    This option allows you to seamlessly use MoEngage capabilities to capture and update a user's subscription on MoEngage. If you have other systems (third-party tools or in-house systems), you can forward this information from MoEngage to those systems.
  • Self-Managed, Custom Managed, or None
    This option allows you to invoke your brand's handling of user subscription; it is generally used when brands want to manage user preferences on their side. In such cases, brands would need to capture users' subscriptions and update both their systems and MoEngage.

How to Set Them Up?

Global Unsubscribe

MoEngage-Managed or TrackingSendgrid Tracking Self-Managed or None

With all senders that MoEngage offers out-of-the-box or with whom MoEngage has a partnership or custom senders (that is, with Sendgrid, Amazon SES, Sparkpost, and Mandrill) that MoEngage customers have bought, MoEngage provides an option called Unsubscribe Settings as mentioned here. You can choose MoEngage Tracking here to get help from MoEngage to unsubscribe your users based on their request.

Screenshot 2024-09-27 at 12.11.14 AM.png

As mentioned in the option, this inserts the following text at the bottom of your email by default:


“If you do not wish to receive future emails, click here”

 

The click here will be hyperlinked to the URL provided in the Unsubscribe Page URL. This will directly unsubscribe the user and will have a call to action (CTA) to resubscribe them if they wish to.

If you want to add any further custom behavior, like a survey to understand why your users are unsubscribing, you can use a custom page of your choice by providing the link to the same in the Unsubscribe Page URL.

List-Unsubscribe

MoEngage-ManagedSelf-Managed

Regardless of the sender you are using, we provide an option called One-click Unsubscribe as mentioned here. You can choose MoEngage Managed here to get help from MoEngage to be compliant and provide a one-click way for your users to unsubscribe.

Subscription Categories

To configure the Subscription Categories in MoEngage:

  1. On the left navigation menu in the MoEngage dashboard, go to Settings > Channel > Email.
  2. In the Email page, select the Subscription management tab, and then select the Subscription categories tab.
  3. Click Configure subscription categories.
    You can use the out-of-the-box landing page provided by MoEngage to configure your subscription categories or bring your custom landing page to define the same. For more information, click here.
info

Information

If you are using custom landing pages, perform the necessary steps to pass the preference change back to MoEngage using the API here so that in the future, if users are targeted in the wrong email, MoEngage can take necessary action.

Create Emails in MoEngage with the Types of Subscription Offered

Global Unsubscribe

As mentioned above, in the case of MoEngage-Tracking or Sendgrid Tracking, a default text is always added to the bottom of the email. However, you can customize the position of the same.

MoEngage-ManagedSendgrid Tracking None or Custom Tracking
  • Perform the following steps to insert the unsubscribe link configured in sender settings that tracks unsubscribes through MoEngage in the drag and drop editor:
    1. Select the text in which you want to insert the unsubscribe link.
    2. In the text editor, click Special links > Frequently used > MoE Tracking Unsubscribe Link.
      Special links.gif
  • Perform the following steps to insert a custom unsubscribe link while using drag and drop editor:
    1. Drag and drop an HTML block from the editor to the required position.
    2. Add the following HTML code:
<a data-msys-unsubscribe="1" href= "https://www.abc.com/unsubscribe">Unsubscribe here </a>


Here, https://www.abc.com/unsubscribe is where you must add the unsubscribe URL you want to use.

info

Information

  • For this to work correctly, the href attribute should always be linked to the protocol (HTTP or HTTPS).
  • You can replace the Unsubscribe here text with the required text in any supported language. 

 

Custom HTML Editor

Use the following HTML code to position your unsubscribe text and link in a custom manner:

 

<a data-msys-unsubscribe="1" href= "https://www.abc.com/unsubscribe">Unsubscribe here </a>

 

info

Information

  • You can always add further HTML attributes and CSS values to beautify the same further.
  • Also, if you want only the Text to be different and not the link, follow the same code with one minor change:
  • Href should have the value provided in the settings itself.

List-Unsubscribe

Regardless of the type of approach (MoEngage-Managed or Self-Managed), MoEngage will always add the required inputs to the email header automatically in all non-transactional emails. So you need not do any customization or provide manual inputs while creating the campaign.

Subscription Categories

Default Link position

Regardless of the type of landing page used, MoEngage positions the link at the bottom of the email by default, using the following text:

Update your email preferences here to choose the category of emails you wish to receive.

The here in the text above is hyperlinked with the landing page link in the email sent.

Customize the Link Position

You can always customize the position of the  landing page link using the following steps:

Drag and Drop Editor Custom HTML Editor

Perform the following steps to insert the landing page link of subscription categories in the drag and drop editor:

    1. Select the text in which you want to insert the landing page link.
    2. In the text editor, click Special links > Frequently used > Preference Management.
      email preferences link..gif

Show the Subscription Categories Link and Not the Global Unsubscribe Link

By default, MoEngage will always add both the links of Global Unsubscribe and Manage Preference link to the bottom of the email. You can always use the defined HTML code above to custom position both links.

However, if you want to hide the Global unsubscribe link and show only the link to the categories, you can achieve this by the following method:

Drag & Drop Editor Custom HTML Editor
  1. Drag and drop an HTML block from the editor to the required position.
  2. Add the following HTML code:
<div style="display: none;">
<a data-msys-unsubscribe=”1” href= “https://api-0X.moengage.com">Manage your preference here</a>
</div>

 

Here, the X in the URL refers to the MoEngage Data Center (DC). MoEngage hosts each customer in a different DC. You can find your DC number (value of X) and replace the value of 'X' in the URL by referring to the DC and API endpoint mapping here.

Analyze Unsubscribes

Global Unsubscribe or List-Unsubscribe

Whenever a user unsubscribes through the link added in the email (Global Unsubscribe link) or the option provided by the ISP (List-Unsubscribe option), MoEngage triggers the Email Unsubscribed event if you are not on None tracking for Unsubscribe or if you configure List unsubscribe handling in the right manner as mentioned here.

Subscription Categories

Whenever a user changes their preferences through an email sent through MoEngage, the MoEngage system triggers the Email Subscription Category Updated event with information around the Campaign, Email Subject, Unsubscribed Categories, and so on.

You can analyze the users who are unsubscribing or changing their preferences through the events above. You can also use these events to find and target the users to change their subscription.

info

Information

This is applicable for MoEngage-managed landing pages and for workspaces that use custom landing pages but do pass the information back to MoEngage as mentioned here.

Update Subscription Status

Update Unsubscribes from MoEngage to Third-Party Systems

Unsubscribe at the Overall Level

Regardless of whether the unsubscription happened through the List-Unsubscribe or Global Unsubscribe link, you can perform the following steps to pass the status:

  1. Create an event-triggered connector campaign, which is triggered when the Email Unsubscribed event occurs and makes an API call to the third party system’s end-point. For more information on creating a Connector Campaign, refer here. OR
  2. You can use MoEngage Streams to pass the Email Unsubscribed event to your system. For more information on MoEngage Streams, click here.

Change Preferences

Perform the following steps to pass the new preference values:

  1. Create an event-triggered connector campaign, which is triggered when the Email Subscription Category Updated event occurs and makes an API call to the third party system’s end-point to convey the categories the user unsubscribed from. For more information on creating a Connector Campaign, refer here. OR
  2. You can use MoEngage Streams to pass the Email Subscription Category Updated event to your system. For more information on MoEngage Streams, click here.

Update Unsubscribes from Third-Party Systems to MoEngage

Unsubscribe at the Overall Level

API ApproachCSV upload Approach

If you want to unsubscribe a user because they unsubscribed anywhere else (other than MoEngage-based emails), you can use MoEngage Data API to update the same. To achieve this, perform the following steps:

  1. Invoke our Data API as mentioned here.
  2. Set moe_unsubscribe as true.
  3. Finalize the values to be passed for other attributes based on your use case or setup (this is optional).

 

Change Preferences

Update Preferences due to a campaign sent from MoEngage using the Custom Landing page:

If you are using custom landing page and would want to update the preference of the user back in MoEngage, perform the following steps:

  1. Parse through the URL to find the user_id & cid parameter.
  2. Invoke the API mentioned here.
  3. Pass the stored user_id & cid as parameters while executing the API.

For example, if the link to the custom landing page was https://www.abc.com/managepreference, when the user clicks the same from the email, the link will be like below:

https://www.abc.com/managepreference?/?user_id=7XvJW2dj3iS.rYAt4pg5ASBQtaqAMFDw9e89vZCXx_RFfN3eL0wBG008oI6cpncOQV6ESg&cid=5FGZGcA8FRv3Id89JCCczQjwxq6ApEyAarYDje2mzfRQ_WG7VyyFEc0w4L3MA.31a7wzR64fi7lfq8Km0AaeO4paGVul.4HxixDYnoUp21xyUjGtfvnrHSR2G1reTpYPHHU.r3Ac9vE&app_key=UY_GHXBXyaHbiYnCoNOu7eS.u5yIrrN3noTBNZX5mNSL4KN5C5PZ3zcXBKCCxl9w3m0ukw

Here, you can parse and find user_id which in this case will be 7XvJW2dj3iS.rYAt4pg5ASBQtaqAMFDw9e89vZCXx_RFfN3eL0wBG008oI6cpncOQV6ESg and cid will be 5FGZGcA8FRv3Id89JCCczQjwxq6ApEyAarYDje2mzfRQ_WG7VyyFEc0w4L3MA.31a7wzR64fi7lfq8Km0AaeO4paGVul.4HxixDYnoUp21xyUjGtfvnrHSR2G1reTpYPHHU.r3Ac9vE and pass the same while triggering the API.

 

info

When updating the preference of users via API, if MoEngage receives any value for a category that is archived or disabled in MoEngage, we will not update the preference for that category. Neither will we raise the event if the change was only for the archived / disabled categories.

Updating Preferences from third-party systems to MoEngage:

API ApproachCSV upload Approach

To update the preference of the user from a third-party system to MoEngage, perform the following steps:

  1. Invoke our API that updates Subscription Categories.
  2. Pass the status of categories that you want to change for a user in the data key of the API body
  3. Finalize the values to be passed for other attributes based on your use case or setup (this is optional).
info

When updating the preference of users via API, if MoEngage receives any value for a category that is archived or disabled in MoEngage, we will not update the preference for that category.

 

Resubscribe Users in MoEngage and in Senders

You may want to resubscribe a user who has previously unsubscribed on the MoEngage platform and on the Sendgrid platform simultaneously. The MoEngage Resubscribe API resets the unsubscribe flag to “false” for users on MoEngage and makes a call to SendGrid to remove the email addresses (associated with the unsubscribed users) from their suppression list.

To achieve the same, perform the following steps:

  1. Collate the list of Email IDs to be resubscribed.
  2. Invoke the MoEngage Resubscribe API as mentioned here.
  3. Set update_esp=true and pass the list of email IDs in the recipients key as an array.

Frequently Asked Questions

arrow_drop_down Can I customize the landing page that the user lands on after clicking the unsubscribe link?

Yes, it is possible to customize the landing page the user lands on after clicking the unsubscribe link. This option is available in Sender Configuration. When a user clicks the unsubscribe link, they are unsubscribed and then taken to this landing page to learn the reason for their unsubscription. 

arrow_drop_down How does a sender and MoEngage interact with each other to understand which email ID is associated with a custom ID that enables you to unsubscribe and email, especially if you have PII tokenization enabled?

This interaction includes the following steps:

  • MoEngage invokes a content API to pass the token saved in MoEngage in place of the email ID.
  • As a response, the client system returns the email ID.
  • MoEngage generates a payload and sends the request to the sender.
  • The email ID is encrypted and stored to log this sent request. Note that the raw email ID is never stored in MoEngage.

 

Was this article helpful?
1 out of 1 found this helpful

How can we improve this article?