Overview
- Customer contact details: Email ID, mobile number.
- Customer personalization information: First name, last name.
Use Cases
- Enhance Data Security: Engage your audience through targeted campaigns without storing sensitive PII, such as email addresses or phone numbers, in MoEngage.
- Ensure Compliance: Meet stringent data privacy regulations by anonymizing customer identities in your marketing platform.
- Maintain Personalization: Continue to use personalization in your campaigns by fetching data in real-time.
Configuration
You can configure a PII API to retrieve customer email IDs or mobile numbers during campaign dispatch.- PII Tokenized Sending is supported for the following channels and partners:
- SMS, MMS, and RCS (All the native and custom SMS connectors or service providers)
- Email (SendGrid, Amazon SES, and custom SMTP connectors)
- WhatsApp (All the native and custom WhatsApp connectors)
- When PII Tokenized Sending is enabled, Frequency Capping is not supported for the Email channel. However, it is supported for the SMS, MMS, RCS, and WhatsApp channels.
- MoEngage uses dynamic IPs for sending messages, if you want to use static IPs refer to this doc to know more.
- When PII Tokenized Sending is enabled, the following are not supported:
- Opt-out Management (WhatsApp)
- Subscription Management (SMS, MMS)
- RCS
- Message Archival
1. Configure PII API
- Email Settings
- SMS, MMS & RCS Settings
- WhatsApp Settings
- On the MoEngage dashboard, navigate to Settings > Channels > Email.
- Select the Data tab.
- In the Customer’s email address data field, select the option Customer’s email addresses are not stored in MoEngage DB (Fetch via API).
- After you select this option, the API configuration fields appear. Proceed to the next step to configure the API settings.
2. API Settings
You can fetch data for users individually or in batches.- Single
- Bulk
- Method: Select the GET or POST method.
- OAuth 2.0 Authentication: To secure your PII API with OAuth 2.0, enable the OAuth toggle. A dropdown menu appears. Select a pre-configured OAuth setting. To learn how to create and manage OAuth settings, refer to Authorization Configuration with OAuth 2.0.
- The OAuth option will be enabled on request. Contact your CSM or the MoEngage Support team to enable it.
- Only OAuth configurations with an “Active” status will be available for selection in the dropdown.
- If an active OAuth configuration used by your API expires, its status will change to “Failed”. When you edit the PII settings, an error message will be displayed, and you will need to select a new, active OAuth configuration.
- Request URL: Type or paste the “Request URL” of the API.
-
Parameters: Type or paste the relevant “URL parameters”, “Headers”, and/or “Body” details for the API as key-value pairs. You can personalize the URL parameters and request headers by typing @ in the placeholders while entering the key-value pairs. \

3. Test and Save Configuration
After defining your API settings, you must test the configuration to ensure MoEngage can correctly retrieve the data.- Enter a valid test value for the anonymous ID you configured (for example,
456). - Click Test to trigger the API call.
- Review the API response to ensure it is successful and returns the correct data.
- In the Email/Mobile Number field in API response list, select the response key that contains the customer’s email or mobile number (for example,
Email_ID). - Click Save to finalize the configuration.

PII-Based Campaign Workflow
The following diagram illustrates the data flow when sending a campaign with PII Tokenized Sending enabled.
- A campaign is triggered in MoEngage.
- MoEngage calls your configured PII API, passing the anonymous IDs of the eligible users.
- Your API retrieves and returns the corresponding email address or mobile number for each anonymous ID.
- MoEngage sends the campaign content and the fetched PII to your configured Email, SMS, RCS, or WhatsApp service provider.
- MoEngage immediately deletes the fetched PII (email, mobile number, and any other data fetched via Content APIs for that campaign) after sending it to the provider.
- The service provider delivers the message to the end customer.
- The service provider sends delivery status data back to MoEngage.
- MoEngage maps the delivery data back to the campaign using a unique message ID and deletes any PII that may have been returned in the delivery receipt.
- Campaign analytics are updated on the MoEngage dashboard.
Anonymization Support
Here are a few other changes implemented to support customer anonymity in the MoEngage platform.- Campaign Sending Logs- If Tokenized Sending has been configured for a specific channel, the campaign logs will stop storing email or mobile number data (depending on the channel for which PII Tokenized Sending is configured) from the next instance of the campaign run (post the configuration change).
- Campaign Delivery data- MoEngage tracks delivery data for all the native connectors and maps the delivery data back to a campaign using the message ID field.
Delivery information is not tracked for custom (SMS, MMS, RCS, and Email) connectors.
- Segmentation - The ‘show count’ query lists the user count as part of both Segmentation from the Segment > Create Segment navigation and Segmentation in campaigns. However, the reachable user count cannot be shown in both cases as MoEngage does not store the mobile number or email address (which is the basis for calculating reachability).
- Current campaigns (live campaigns) - If there are any live campaigns for that channel (point channel or flows) when the PII API settings are configured, sending will be done by fetching the Email ID or Mobile number from the very next instance.
- Personalized Preview - This feature is automatically disabled for the channel after PII settings are saved. You can request to re-enable it by contacting your Customer Success Manager (CSM).
- Campaign Testing Failure Reason- When testing a campaign when it is being created (for the channel where PII configuration is set), if the API fails to respond, the API error will be shown in the UI.
- Campaign Analytics - The customers for whom the PII API configured above fails to retrieve the customer sending ID (Email ID or mobile number) will not be counted in the Campaign delivery stats in the Campaign Info or Analytics section. This is because this funnel accounts for users with a valid Email ID or Mobile number.
- Content Personalization when customer data is not available in MoEngage - While the PII API above focuses on retrieving the customer’s sending ID (Email ID or Mobile number), MoEngage’s Content API feature allows you to fetch any data (PII and/or other) directly from your database in real-time when the campaign is about to be sent to the end customer. For more information, refer to Personalization using Content APIs.
Frequently Asked Questions (FAQ)
Do I need a tokenization server to create an anonymous ID?
Do I need a tokenization server to create an anonymous ID?
Can Content API and PII Tokenized Sending work independently?
Can Content API and PII Tokenized Sending work independently?
What happens to active campaigns if I enable the PII API feature now?
What happens to active campaigns if I enable the PII API feature now?
How does MoEngage handle API retries?
How does MoEngage handle API retries?
Can I encrypt the PII data returned from my API?
Can I encrypt the PII data returned from my API?
What error does MoEngage display in campaign analytics if the PII API fails?
What error does MoEngage display in campaign analytics if the PII API fails?
| Channel | Error Message in UI |
|---|---|
| SMS, MMS, RCS, and WhatsApp | Invalid API response (fetching Mobile No.) Invalid/empty customer identifier in the MoEngage workspace. |
| Invalid API response (fetching Email ID) Invalid/empty customer identifier in the MoEngage workspace. |

What happens to draft/scheduled campaigns activated after changing these settings?
What happens to draft/scheduled campaigns activated after changing these settings?
What happens to data retrieved in real-time from my customer's database?
What happens to data retrieved in real-time from my customer's database?
Is PII retrieved via API stored in logs?
Is PII retrieved via API stored in logs?
Do PII API settings apply to Flows as well?
Do PII API settings apply to Flows as well?
Does MoEngage offer PII masking?
Does MoEngage offer PII masking?
Does MoEngage Inform support PII tokenized sending?
Does MoEngage Inform support PII tokenized sending?
Does the PII API also have the send and throttle speed as email batching?
Does the PII API also have the send and throttle speed as email batching?
