Marketing Challenge: Database Management

Being in the intellectual property industry, our company has very unique marketing automation needs. Our target audience varies from technology giants to small law firms, which makes effective segmentation and personalization of message even more important. But, to be able to do that, our data has to be clean and consistent. Unfortunately, usage of many open text fields and no validations in our forms had in the past contributed to data contamination with junk and inconsistent entries.


Eloqua University Classes on Data Cleansing and Advanced segmentation helped me discover two simple steps to clean our data and lay the groundwork for bigger data management projects like Job Title Normalization.



  • Improved Data Quality
  • Effective Segmentation
  • Better Lead Scoring
  • Effective Campaigns

Project at a glance: The project involved following 2 simple steps which helped in better management of data:

  1. Zip, City, State, Country Field Standardization
  2. Removing Hard Bouncebacks, Unsubscribes from database and identifying Emotional Unsubscribes.

Step 1: Zip, City, State, Country Field Standardization

Tools used: Lookup tables, Update Rule, Program Builder

Country Field Standardization:

Country field had inconsistent values as we were using open text field for Country in forms and people used a variety of ways to input value in this field.

1(a) Create a filter and export contacts:

To clean the data in this field, a filter was created using Filter Criteria - Compare Contact Fields. Below is the screen-shot of the criteria used. This shared filter will later feed the contacts in the program.

The data was exported and errors and inconsistencies were identified and analyzed. More than 30,000 entries in the country field were inconsistent.



1(b) Create Lookup Table: To correct the existing inconsistent values and to make sure Eloqua continually cleans these inconsistent values, a look-up table was created. One column of the table included all inconsistent values and the other column included the correct values.


     1(c) Create Update Rule: The next step was to create an update rule to overwrite value from Lookup Table Field:



     1(d) Create and enable Program: Once the update rule was ready, program was created to run update rule:



The filter created in step 1(a) was shared and used as a feeder for the program. Program was enabled and data in the country field was updated.


Later, we replaced the open text field for country with a pick list to make sure we straight-away get clean data from form submissions.


The above steps for country standardization can be modified for City & State field standardization. Now, we use only “Zip-code” field in the forms used for US Campaigns and based on the value entered in Zip-code field, “City”, “State” and “Region” is updated. This helps us in:


    • Keeping our forms short and enhance form submission rate
    • Keeping our data clean and standardized


Step 2: Removing Hard Bouncebacks, Unsubscribes  and identifying Emotional Unsubscribes.

Having a valid email address and permission to use it is more important than ever with the changeover to opt-in model. Eloqua logs bouncebacks, unsubscribes, and activity for all contact records. We can segment contact records based on above filter criteria. At the time of sending, Eloqua suppresses any emails that are marked to contacts identified as hard bouncebacks or unsubscribes, so we do not need to keep them in our database.

2(a) Hard Bouncebacks: Data deteriorates over time. People change jobs, domains expire leaving us with invalid email addresses. Including these invalid email addresses in our campaign segment result in hard bouncebacks. This can not only make our campaigns less effective but also give our account a spammer status.

Identifying Hard Bouncebacks:

    1. Create a Segment and name it as–“Hard Bouncebacks”
    2. Choose the “+” icon and select “Filter Criteria”
    3. Create a filter and rename it as – “Calculating Hard Bouncebacks”
    4. From filter options, select “Marked as Hard Bounceback”
    5. To configure the criteria, from the drop down list select “as of now”
    6. Click Save


2(b) Global Unsubscribes: If the contact has unsubscribed, that means we do not have permission to send emails to that contact. Global unsubscribes are contacts who do not want to receive any email communications from the company (not just one group of email communications e.g. Events).

Identifying Global Unsubscribes:

    1. Create a Segment and name it as –“Global Unsubscribes”
    2. Choose the “+” icon and select “Filter Criteria”
    3. Create a filter and rename it as – “Calculating Global Unsubscribes”
    4. From filter options, select “Marked as Global Unsubscribed”
    5. To configure the criteria, from the drop down list select “as of now”
    6. Click Save


Removing Hard Bouncebacks and Unsubscribes:

    1. Export the contacts from the respective filters.
    2. From the main menu, select Contacts>> Contacts>



3. Click on “Upload” to open Contact Upload Wizard.

4. Import Purpose should be “Delete Contacts.


5. After reviewing the data and selecting the “Key Field”, click ”Finish” on the last step of the Contact Upload Wizard. Contacts will be deleted.

Deleting the contacts from our Eloqua database did not ensure that they won’t come back into Eloqua through Auto Synchs. There is an excellent post by Leigh.Burke-Oracle, which really helped me achieve this objective:  Effectively Remove Records from Eloqua.

2(c) Inactives/Emotional Unsubscribes:

When recipients lose interest in our emails and ignore or delete our emails even though they may not have unsubscribed, we call these recipients “Emotional Unsubscribes”. It is important to identify such inactive contacts and design customized lead nurturing campaigns to re-engage them.


Identifying Inactives/Emotional Unsubscribes

    1. Create a Segment and name it as –“Inactives”
    2. Choose the “+” icon and select “Filter Criteria”
    3. Create a filter and rename it as – “Sent Any Email”
    4. From filter options, select “Sent Any Email”
    5. To configure the criteria, from the first drop down list select “atleast”. Enter “3” in the text field next to it. From the second drop down list select “within last”. Enter “6” in the text field next to it, from the next drop down select “Months”.


6. From filter options, select “Not Opened Any Email”. To configure the criteria, from the drop down list select “within last”. Enter “6” in the text field next to it, from the next drop down select “Months”.


Repeat step 6 to configure following filter options and name each one accordingly:

  • Not Clicked Any Email
  • Not Visited Any Landing Page
  • Not Submitted Any Forms


7. Make sure the Boolean operator between each filter criteria is “AND”

8. Click Save





The above two steps well implemented, made my life as a marketing automation person, much easier. Zip, City, State and Country field standardization helped in making our data consistent and also helped in better lead routing. We were exceeding the available contact limit of 100,000 contacts. Removing Hard bouncebacks and unsubscribes from the database not only helped us in keeping our database clean, but also helped in keeping us well under the contact limit. At every step, I leveraged Topliners, which really helped me learn how Eloquans have successfully implemented Data cleansing projects in their organizations.