How to properly track 2-step unsubscribes

Last Updated: 2/4/2026     Tags: unsubscribe, tracking, webform, interaction history, API V5
  • Switch Version
  • V5
  • V4

Why setup a two-step unsubscribe process?

  1. Prevent accidental or malicious unsubscribes
  2. Gather feedback before losing the user
  3. Offer alternatives instead of full unsubscribe

Method 2: Using API V5 Endpoint (Unauthenticated)

This method uses an integration-based endpoint created via
Integrations → New Integration → API: V5 Endpoint (Unauthenticated).

It achieves the same output in the interaction history as Method 1 but uses JSON payload data instead of a form.


Example Payload

[
    {
        "profile": {
            "email": "test@example.com",
            "lists": [
                {
                    "listId": 1447,
                    "importId": null,
                    "campaignId": null,
                    "subscribedTimestamp": null,
                    "unsubscribedTimestamp": true,
                    "subscriptionOption": null
                }
            ]
        }
    },
    {
        "event": {
            "target": { "email": "test@example.com" },
            "isTest": false,
            "type": "up",
            "activityId": 5055,
            "parentId": 445764070457614336
        }
    },
    {
        "event": {
            "target": { "email": "test@example.com" },
            "isTest": false,
            "type": "u",
            "activityId": 5055,
            "parentId": 445764070457614336
        }
    }
]

Explanation of Key Fields

Field Description
profile.email Identifies the subscriber to be updated.
lists Defines which list(s) the subscriber is being unsubscribed from.
unsubscribedTimestamp Set to true to mark the subscriber as unsubscribed.
subscribedTimestamp Set to true if you want to re-subscribe the user instead.
event.type Defines the event type:
u = Unsubscribed
up = Profile Update
activityId The ID of the unsubscribe activity (webform) used.
parentId Links the logged event to the campaign email the user came from.

By including both update (up) and unsubscribe (u) events in the payload, Taguchi accurately reflects the subscriber’s opt-out action in their history.

After submitting the payload, the subscriber’s interaction history will display both actions, as shown below:

Unsubscribe Interaction History

Additional Notes

  • Always include a valid email field to identify the subscriber.
  • The parentId is essential for linking the unsubscribe action back to the originating campaign.
  • If the unsubscribe action is not appearing in the interaction history:
    • Verify your evt and type values.
    • Confirm list IDs and payload field names are correct.
    • Ensure your integration endpoint is active and accessible.

For detailed API specifications and additional examples, refer to the
V5 API Documentation.

For Method 1: Legacy Unsubscribes TrackingFor Method 1:

💬 For further assistance, contact Taguchi Support.