If required, for business reasons or to comply with privacy laws like GDPR or CCPA, you can delete profiles that are stored in real-time segments. The mechanism for accomplishing this is to create a workflow that calls a profile deletion API with a table of profiles to be deleted. Here are steps for accomplishing this:
- Create a table that contains one or more profiles that you want to delete from a real-time segment.
- Create a workflow task that passes the table of profiles to a deletion API that deletes the profiles it contains from the real-time segment
- Consult the Premium Audit Log to confirm the delete operations were successful.
You can create a table of profiles to delete from the real-time parent segment either manually in the TD Console or by using the TD Toolbelt. When using a query to create the table, query the database that was used to create the real-time segment you want to delete from.
After you have created a table of profiles to delete from your real-time parent segment, create a workflow that will call the profile deletion API. You can create the workflow using either the TD console or the TD Toolbelt.
After creating the workflow, here is an example of how to configure it.
+create_rt_profile_delete_internal_db:
td_ddl>:
create_databases: [rt_profile_delete_internal_container]
database: rt_profile_delete_internal_container
###
### RT PROFILE DELETE INTERNAL
###
+rt_profile_delete_profile:
td>:
database: rt_profile_delete_internal_container
query: |
SELECT key || ':' || value
FROM profiles_to_be_deleted;
result_url: |
{
"type": "rest",
"method": "POST",
"authorization": "${secret:td.apikey}",
"endpoint": "${reactor_importer_endpoint}/internal/bulk-delete-internal",
"headers": "{\"x-reactor-instance-name\": \"${reactor_instance}\"}",
"parallelism": ${parallelism},
"page_size": ${page_size}
} In the example above note the following:
- On the FROM line you specify the table you created that contains the profiles you want to delete
- On the "endpoint" line specify the endpoint of the region where your real-time data is stored.
After you have configured the workflow, run it to delete the profiles.
The profile deletion API cannot be called directly. It must be specified in the workflow configuration you create to delete profiles from a real-time segment. Here are the region-specific endpoints to include in the workflow configuration.
After you have successfully run the workflow, you can consult the Premium Audit logs to determine if the profiles contained in your table were deleted.