To delete invalid, inactive, or unneeded users from an Iterable project, use one of Iterable's user deletion APIs or the bulk user deletion tool.
Deleting users completely removes all of their information from an Iterable project, including:
- User profile
- Subscription preferences
- List memberships
- Campaign events (sends, opens, clicks, etc.).
- Custom events
WARNING
- Iterable cannot restore deleted users or any associated data.
- Deleting users impacts historical campaign metrics, which are recalculated as though the campaigns in question were never sent to the deleted users.
- Before deleting users, consider backing up important data.
In this article
Backing up important data
Before deleting users, back up their data as necessary. To do this, use Iterable's web interface and API, as described below.
TIP
To learn more about Iterable's API, read our API Overview.
User profiles
To back up user profile data (which contains custom fields, subscription information and device information):
-
Use Iterable's web interface to export multiple user profiles simultaneously:
Navigate to Audience > Segmentation.
Create a static list containing the users whose profiles you'd like to back up. Click Refresh Results and verify its contents.
Click Export As > CSV File and select the fields to save.
Save the CSV file to your local machine.
-
Alternatively, call one of the following APIs to save the user profile for a single user:
Users on a list
For a full list of the users that belong to a particular list, call
GET /api/lists/getUsers
.
Messages
For a list of messages that have been sent to a particular user, call
GET /api/users/getSentMessages
.
Campaign metrics
To export campaign data:
-
Use Iterable's web interface to export campaign metrics and aggregate analytics:
Navigate to Messaging > Campaigns.
Use the Export Campaign Metrics by Date Range and Aggregate Analytics by Date Range buttons.
Navigate to Messaging > Campaigns and click View Archived Campaigns.
Use the Export Campaign Metrics by Date Range and Aggregate Analytics by Date Range buttons.
-
Use the following APIs to export individual campaign metrics:
Experiment data
To export experiment metrics:
-
Use Iterable's web interface to export metrics for individual experiments:
- Navigate to Messaging > Experiments.
- Open an experiment.
- Click Export Table to CSV.
- Save the CSV file to your machine.
-
Use the following API to export metrics for multiple experiments:
GET /api/experiments/metrics
- Pass in multiple experiment IDs, as necessary.
Events (system and custom)
To export a user's events, call the GET /api/export/userEvents
API. Make sure to specify includeCustomEvents=true
.
Deleting vs forgetting
Deleting a user does not stop your Iterable project from storing future
information about that user, should you ever provide it. To prevent future data
storage, use the POST /api/users/forget
API, which also deletes users.
For more information, read Responding to GDPR Requests.
Deleting users with Iterable's API
WARNING
Iterable cannot recover data associated with deleted users. Before deleting users, consider backing up important data.
Iterable provides APIs for deleting users by email and user ID:
Things to remember about these APIs:
Before deleting users, consider your project type. In email-based projects and hybrid projects, you can delete users by
email
oruserId
. In userID-based projects, you can delete users only byuserId
.They're rate-limited at three requests per second. Use them to delete a small number of users. To delete a large number of users, see Deleting users in bulk.
Deleting a user does not prevent Iterable from creating another profile for that user, if you ever send more data.
To prevent your project from collecting more data about a given user in the future, and to prevent Iterable from sending them more messages, use the
POST /api/users/forget
. For more information, read Deleting vs Forgetting.
Deleting users in bulk
WARNINGS
- Iterable cannot recover data associated with deleted users. Before deleting users, consider backing up important data.
- Use extreme caution when deleting users in bulk. Make sure that the static list used to start the bulk deletion process contains only the users that should be completely deleted from the Iterable project.
The bulk deletion feature deletes all users on a specific static list from an Iterable project.
To perform bulk deletions, a user must have the Create and Manage User Profiles and Data permission.
To perform a bulk deletion, follow these steps:
Sign in to your Iterable project with an account that has the Create and Manage User Profiles and Data permission.
Navigate to Audience > Lists.
-
If necessary, create a new static list containing the users you'd like to delete (for more information, read Lists Overview(https://support.iterable.com/hc/articles/204780549)). If you already have such a list, move on to the next step.
NOTE
You cannot perform a bulk deletion with a dynamic list.
Click the list to view its details.
Click Refresh Results to view the users on the list. Double-check that the list contains only users that should be completely deleted from the Iterable project.
-
Click Other Actions > Delete Contacts From Project.
-
A Delete Contacts From Project window will appear. Read it careully. If necessary, back up your data before proceeding.
Check the I Understand that Deleted Contact Data... checkbox.
-
Type
DELETE
in the Type DELETE to Proceed input.WARNING
- If you proceed, all users contained in the list will be completely deleted from the Iterable project. This data cannot recovered.
- Deleting a user does not prevent Iterable from creating another profile for that user, if you ever send more data.
- To prevent your project from collecting more data about a given user in the
future, and to prevent Iterable from sending them more messages, use the
POST /api/users/forget
. For more information, read Deleting vs Forgetting.
Click Schedule Deletion.
After you initiate a deletion:
Iterable will eventually delete the users on the list, usually within 24 hours. However, the actual time required to finish the deletion depends on the size of the list and system load. To check a deletion's status, navigate to the Audience > Lists screen and look at the Contacts column for the list. When the delete is done, this column will show 0 (unless more users have been added in the meantime).
If Iterable receives data for a given user for whom you've already initiated a deletion, it will also delete the new data.
If you delete a user who's in a journey, they'll be removed from that journey.
Users for whom deletion is pending can still receive messages from campaigns and journeys (until the deletion is complete).
Users added to a list for which a bulk deletion is already in progress will not be deleted.
When performing a bulk deletion, Iterable deletes each user on the deletion list from the Iterable project and from the list itself. However, it does not delete the list.
Want to learn more?
For more information about some of the topics in this article, check out this Iterable Academy course. Iterable Academy is open to everyone — you don't need to be an Iterable customer!