Procedure: Detailed

About this task

The GDPR utility is available to you when you install Interact. It is located at <Interact_Home>/tools, where Interact_Home is the Interact installation path.

Procedure

  1. Setting Up the gdpr.properties before Running the gdpr_purge Utility:
    The user is required to fill all the information listed underneath for every Audience in their Unica Interact application:Common configuration must be updated:
    ################ global settings ########################
    # The type of the run time system database. It must be one of the following: DB2, Oracle, 
    # MSSQL, MariaDB, INFORMIX
    Interact.RunTime.Db.Type=DB2
    # The schema of the run time system tables, as configured under
    # Affinium|interact|general|systemTablesDataSource:schema
    # It should be left blank unless the generated SQL script will be executed under a different 
    # schema
    Interact.RunTime.Db.Schema=
    # The type of the production profile database. It must be one of the following: DB2, Oracle, 
    # MSSQL, MariaDB, INFORMIX
    Interact.Profile.Db.Type=DB2
    # The schema of the production profile tables, as configured under 
    # Affinium|interact|general|prodUserDataSource:schema
    # It should be left blank unless the generated SQL script will be executed under a different 
    # schema
    Interact.Profile.Db.Schema=
    # The type of the contact and response history database. It must be one of the following: DB2, 
    # Oracle, MSSQL, MariaDB, INFORMIX
    Interact.CHRH.Db.Type=DB2
    # The schema of the contact and response history tables, as configured under 
    # Affinium|interact|general|contactAndResponseHistoryDataSource:schema
    # It should be left blank unless the generated SQL script will be executed under a 
    # different schema
    Interact.CHRH.Db.Schema=
    # Query separator character to be used for separating the queries.
    QuerySeparator=;
    # Nationalized string prefix to be used while generating the DB queries.
    # If your audience name or value specified in csv file has non-English characters 
    # then N prefix should be used for MSSQL.
    NLS.String.Prefix=N
    For the Default Audience Level - Customer:The configurations underneath are for the Audience numeric type, the user can change it for String data type. Follow description given for each configuration and update them as per your requirement:
    # Name of the audience.
    # This is case sensitive.
    Interact.Audience.Name=Customer
    
    # Staging contact history table mapped in interact for the audience level Customer.
    # This table exists in the run time system data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.CHStagingTable
    Interact.Customer.CHStagingTable=UACI_CHStaging
    
    # Staging response history table mapped in interact for the audience level Customer
    # This table exists in the run time system data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.RHStagingTable
    Interact.Customer.RHStagingTable=UACI_RHStaging
    
    # Staging table for contact history attributes, mapped in interact for the audience 
    # level Customer
    # This table exists in the run time system data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.CHAttributeTable
    Interact.Customer.CHAttributeTable=UACI_CHOfferAttrib
    
    # Event pattern state table mapped in interact for the audience level Customer
    # This table exists in the run time system data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.EventPatternStateTable
    Interact.Customer.EventPatternStateTable=UACI_EventPatternState
    
    # User event activity table mapped in interact for the audience level Customer
    # This table exists in the run time system data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.UserEventActivityTable
    Interact.Customer.UserEventActivityTable=UACI_UserEventActivity
    
    # Cross session response table mapped in interact for the audience level Customer
    # This table exists in the contact and response history data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.XSessResponseTable
    Interact.Customer.XSessResponseTable=UACI_XSessResponse
    
    # Score override table mapped in interact for the audience level Customer
    # This table exists in the profile data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.ScoreOverrideTable
    Interact.Customer.ScoreOverrideTable=UACI_ScoreOverride
    
    # Black list table mapped in interact for the audience level Customer
    # This table exists in the profile data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.BlackListTable
    Interact.Customer.BlackListTable=UACI_BlackList
    
    # Fields mapped in interact table mapping for the audience level Customer.
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.Field
    # If composite key is present define multiple fields.
    Interact.Customer.Field=CustomerId
    
    # Data type for the fields mapped in interact table mapping for the audience level Customer.
    # Name of this property should have the audience name and field name. 
    # Format used here is Interact.<Audience>.<FieldName>.Datatype
    # If composite key is present define multiple field data types.
    # Valid values for these properties are number/string.
    Interact.Customer.CustomerId.Datatype=number
    
    # Absolute path to the input CSV file which has values for different columns defined for 
    # audience level Customer.
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.csv
    # For the path separator in Windows, users should use either "\\" or "/", instead of "\"
    Interact.Customer.csv=<GDPR_Home>/sample/Customer.csv
    
    # Absolute path to the output SQL file which will be generated by GDPR tool for 
    # audience level Customer.
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.output
    # For the path separator in Windows, users should use either "\\" or "/", instead of "\"
    Interact.Customer.output=<GDPR_Home>/tools/GDPR/sample/Customer
    
    # Maximum size of the output file in megabytes. If value of this property is nonzero 
    # then output files will be split if file size is going beyond the below given limit.
    # Output file could be bit larger than the size specified by below property.
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.Output.FileSizeLimit
    # Only positive values are supported.
    Interact.Customer.Output.FileSizeLimit=10
    
    For Audience Level with Multiple Fields:
    Note: For audience level with multiple fields – for example – composite Audience level, the Interact user must replace the values with the names they use for Audience levels along with field name and data type in their Interact application and must replace the CompositeAudience string from each configuration with the new Audience name.
    ################ settings for audience level CompositeAudience ########################
    
    # Name of the audience.
    # This is case sensitive.
    Interact.Audience.Name=CompositeAudience
    
    # Staging contact history table mapped in interact for the audience level CompositeAudience.
    # This table exists in the run time system data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.CHStagingTable
    Interact.CompositeAudience.CHStagingTable=UACI_CHStaging_CompositeAudience
    
    # Staging response history table mapped in interact for the audience level CompositeAudience
    # This table exists in the run time system data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.RHStagingTable
    Interact.CompositeAudience.RHStagingTable=UACI_RHStaging_CompositeAudience
    
    # Staging table for contact history attributes, mapped in interact for the audience level 
    # CompositeAudience
    # This table exists in the run time system data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.CHAttributeTable
    Interact.CompositeAudience.CHAttributeTable=UACI_CHOfferAttrib_CompositeAudience
    
    # Event pattern state table mapped in interact for the audience level CompositeAudience
    # This table exists in the run time system data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.EventPatternStateTable
    Interact.CompositeAudience.EventPatternStateTable=UACI_EventPatternState_CompositeAudience
    
    # User event activity table mapped in interact for the audience level CompositeAudience
    # This table exists in the run time system data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.UserEventActivityTable
    Interact.CompositeAudience.UserEventActivityTable=UACI_UserEventActivity_CompositeAudience
    
    # Cross session response table mapped in interact for the audience level CompositeAudience
    # This table exists in the contact and response history data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.XSessResponseTable
    Interact.CompositeAudience.XSessResponseTable=
    #Interact.CompositeAudience.XSessResponseTable=UACI_XSessResponse_CompositeAudience
    
    # Score override table mapped in interact for the audience level CompositeAudience
    # This table exists in the profile data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.ScoreOverrideTable
    Interact.CompositeAudience.ScoreOverrideTable=UACI_ScoreOverride_CompositeAudience
    
    # Black list table mapped in interact for the audience level CompositeAudience
    # This table exists in the profile data source
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.BlackListTable
    Interact.CompositeAudience.BlackListTable=UACI_BlackList_CompositeAudience
    
    # Fields mapped in interact table mapping for the audience level CompositeAudience
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.Field
    # If composite key is present define multiple fields.
    Interact.CompositeAudience.Field=Field1PK
    Interact.CompositeAudience.Field=Field2PK
    Interact.CompositeAudience.Field=Field3PK
    
    # Data type for the fields mapped in interact table mapping for the audience 
    # level CompositeAudience
    # Name of this property should have the audience name and field name. 
    # Format used here is Interact.<Audience>.<FieldName>.Datatype
    # If composite key is present define multiple field data types.
    # Valid values for these properties are number/string.
    Interact.CompositeAudience.Field1PK.Datatype=number
    Interact.CompositeAudience.Field2PK.Datatype=string
    Interact.CompositeAudience.Field3PK.Datatype=string
    
    # Absolute path to the input CSV file which has values for different columns defined for
    # audience level CompositeAudience
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.csv
    # For the path separator in Windows, users should use either "\\" or "/", instead of "\"
    Interact.CompositeAudience.csv=<GDPR_Home>/sample/CompositeAudience.csv
    
    # Absolute path to the output SQL file which will be generated by GDPR tool for
    # audience level CompositeAudience
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.output
    # For the path separator in Windows, users should use either "\\" or "/", instead of "\"
    Interact.CompositeAudience.output=<GDPR_Home>/sample/CompositeAudience
    
    # Maximum size of the output file in megabytes. If value of this property is nonzero 
    # then output files will be split if file size is going beyond the below given limit.
    # Output file could be bit larger than the size specified by below property.
    # Name of this property should have the audience name. 
    # Format used here is Interact.<Audience>.Output.FileSizeLimit
    # Only positive values are supported.
    Interact.CompositeAudience.Output.FileSizeLimit=10
    
  2. Update csv with CustomerID to Remove from System Tables:
    1. Under <GDPR_Home>/sample two sample csv files are provided for Audience with single field (Customer.csv) and multiple fields (CompositeAudience.csv).
    2. The Interact User must update the first row of the csv files with the Audience Field name, separated by a comma.
    3. Add CustomerIDs on each new line. String data type CustomerID’s must be enclosed in double quotes.
  3. Running the gdpr_purge Utility:
    1. Launch the command prompt and navigate to <GDPR_Home>.
    2. Run the gdpr_purge.bat / sh
    3. Errors are written to gdpr.log file available at <GDPR_Home>/logs.
  4. Reviewing and Executing SQL:

    The Interact user and the Interact DBA must review and manually execute the statements generated by Interact GDPR utility on the database where Unica Interact system tables reside.

    If a customer to be erased has a large number of records to be deleted, then the Interact GDPR utility might generate multiple files. The number depends on the output file size specified in the properties file Interact.CompositeAudience.Output.FileSizeLimit for delete statements. The Interact user/Interact DBA must execute all these files on respective databases.

Note

Customer data sometimes gets re-populated despite running the GDPR utility on the UACI_XSessResponse table in Campaign and the UACI_RHStaging, UACI_CHStaging tables in Interact. This data is the responses from the Inbound channels that arrive at the aforementioned Campaign and Interact tables. In such cases, the user is expected to run the GDPR utility again for the audience IDs for which the tables have been now re-populated. So, it is advised that the user block the customers for the inbound channel for which the GDPR utility has been already run so that their data does not get re-populated.