Creating an Email Domain Extension Validation Program in Oracle Eloqua

At Tegrita, we developed a solution using Eloqua to help ensure that contacts in your database have a valid email address. This solution will check the email addresses domain extension (.com, .org, .net, etc.) against a list of domain extensions registered with the Internet Assigned Numbers Authority or IANA. If the contact email address domain extension is not on the registered list, the email address is most likely invalid.

There are many reasons why a contact may have an invalid domain extension in their email address, such as the following:

  • Due to a typo or temporary forgetfulness
  • A spam bot entered the system
  • The owner wanted to get past the form and see their favorite eBook
  • Their cat accidentally walked on their keyboard while filling out a form (unlikely, but it happens!)

A system must be in place to check the validity of an email address. Sending emails to an incorrect address can affect your deliverability status. ISPs may flag your sending as spam as they will interpret the invalid sending requests as potential spam bot activity. Once you identify an invalid email address, you can either correct an obvious typo or remove it from the database.

To create an email domain extension validation program in Eloqua you need the following:

  • A contact field to write the email domain extension.
  • A list of valid email domain extensions.
  • A picklist containing the valid domain extensions.
  • A filter to check if the contact has a valid domain.
  • A program that intakes new or modified email addresses, identifies their email domain, and compares it to a list of valid domains.

Below, I will outline how to create program assets and once the assets are established, I will outline how to create the “Email Validation Program” in Eloqua.

Create Domain Extension Picklist

The first step is downloading a valid domain list from the Internet Assigned Numbers Authority or IANA. The Internet Assigned Numbers Authority is a standards organization that oversees global IP address allocation, autonomous system number allocation, and root zone management in the Domain Name System. You can download the list here.

Use the list to copy the domains into two separate columns in an excel file that you can use to create a picklist. Use the column names “Option Value” and “Option Name” and copy the domains into both. You can name the file “Valid Email Extensions Picklist.” For example:

Domain Extension Picklist Excel example

Now that the excel file is ready, go to Eloqua’s Settings->Manage Picklists to create the picklist and upload the excel file that you have created.

Picklist in Eloqua

Once you are in the manage picklists page, you can create a picklist called “SYSTEM – Valid Domain Extensions” where the excel file will be uploaded to. To do this, complete the following steps:

  1. Click “Picklist->New Picklist” in the top right corner of the screen.
  2. Name the picklist “SYSTEM – Email Domain Extensions”.
  3. Click “Save” to create the picklist.

Create Pick list in Eloqua

With the picklist created you will need to upload the excel file above. In the top right corner go to “Picklist-> Upload Picklist”:

Upload Picklist Eloqua

Once you select “Upload Picklist” you will be brought to an upload wizard. Upload the excel sheet above and make sure the field mappings are created for both “Option Value” and “Option Name”. Once the upload has finished the result will look like the following:

Created Picklist in Eloqua

With the picklist created, you can now proceed with the filter and field creation and use the picklist to check if contacts have a valid email domain extension and a field to store the domain extension.

Create Email Domain Extension Field

You will need to create a contact field to store the email domain extension. This field is updated by the contact washing machine app in the final program where the domain extension is extracted from the email domain field and inputted into the field.

To create the field, go to “Settings->Fields & Views”, click the “+” and go to “Add Contact Field”. The field can be called “SYSTEM – Email Domain Extension” with the data type set to text. Once you’ve completed this, click save in the bottom right. See the screenshot below for an example:

Create Field in Eloqua

Creating the Shared Filter

The filter will be used in the “Email Validation Program” as a decision step. The step will use the filter to check if a contact has a valid email domain extension.

The filter will check to see if the “SYSTEM – Email Domain Extension” contact field has a matching option value in the picklist we created previously called “SYSTEM – Email Extension Domains”.

To start, go to “Audience -> Tools -> Shared Filters” and click “New” to create a shared filter.

To set up the filter, use the following criteria and conditions:

  1. Drag the “Compare Contact Fields” criteria onto the filter canvas.
  2. Set the field to “SYSTEM – Email Domain Extension.”
  3. Set the condition to “In Picklist.”
  4. Set the picklist to “SYSTEM – Valid Domain Extensions.”
  5. Name the shared filter “SYSTEM – Valid Domain Extension?” and click save.

Shared Filter Creation in Eloqua

Invalid Domain Extension Identification Program

Now that you have created the required assets, you can create a program that will do the following:

  1. Input new contacts o with modified or updated email addresses.
  2. Extract the email domain extension from the “Email Domain” contact field and write it to the “SYSTEM- Email Domain Extension Field”.
  3. Check to see if a contact is in the “Valid Email Extension?” field.
  4. If the contact has an invalid domain extension, add them to a shared list.
  5. If the contact has a valid domain, remove them from the shared list.

To begin, you will need to add the “Email Address” field as a track field in Eloqua so it can be used in the “field change” feeder. To do this follow the instructions found here.

The tracked field set up will look like the following:
Tracked Field in Eloqua

Now that the “Email Domain” field is set up for tracking, we can create the program. To start, go to “Orchestration->Program->Create a new Contact Program.” Next, choose a blank contact program to start from.

Now you have a fresh canvas to begin program creation. Follow the steps below to name the program and add the feeder to the canvas:

  1. Name the program “SYSTEM – Invalid Domain Extension Identification.”
  2. Click “Save”, so you can begin adding steps to the canvas.
  3. Drag the “Listener” step onto the canvas and double click it to configure the step. Name the step “001. New or Email Address Change Contacts.”
  4. Click the “+” sign to add the “Contact Creation” and “Contact field change” as sources. Set the “Contact Field Change” source to use the “Email Domain” field.

Add Feeder in Eloqua

Next, add the contact washing step in order to also add the email domain extension.

  1. Under “actions” in the program steps menu, find the “contact washing machine” app step and drag it onto the canvas.
  2. Name the step “100. Extract Domain Extension”
  3. Click the “Pencil” Icon to begin configuring the contact washing app.

add the contact washing in eloqua

With the contact washing machine configuration screen open, set up the following steps:

  1. Set the source contact field to “Email Address Domain.”
  2. Add the action “lower case” and then “RegEx Extract.”
  3. Enter the regular expression “(\.[a-z]+$)”. This will extract the “.” character and any number of letters after it with the end result being an email domain extension.
  4. Set the destination field to “SYSTEM – Email Domain Extension.” This was previously created above.
  5. Once you’re done with the set-up, click “Save” on the bottom right.

CWM Configuration in eloqua

Next, we will use the “SYSTEM – Valid Domain Extension?” filter created above in a decision step. This will check to see if the contact has a valid domain extension or not and then route them to the appropriate action.

  1. Drag the “Shared Filter Member?” decision step onto the canvas and double-click it to configure.
  2. Name the step “200. Has a valid domain extension?”
  3. Set the shared filter to ““SYSTEM – Valid Domain Extension?”
  4. Set the evaluation to 0 days.

Shared Filter in eloqua

The final steps are to route the “Yes”and “No” from the shared filter step to an appropriate action. In this example contacts with an invalid domain extension will go down the “No” path and be added to a “SYSTEM – Invalid Domain Extension” list. The “Yes” path will remove them from the list. The final program will resemble the following:

Final Program in eloqua

After the program is activated, you can add contacts to the “SYSTEM – Invalid Domain Extension” list when they have an invalid domain extension. Now, you have the following options to manage your contacts:

  • Add the contacts to a master exclude list so you will not accidentally send them emails.
  • Check to see if a simple typo caused the incorrect email address, and if so, investigate if you correct it. Remove the incorrect contacts from the database.

This program is a simple example, and you can still add terror routing and exit wait steps. You will also need to update the picklist in the filter on a quarterly basis, given the domain extension list provided by Internet Assigned Numbers Authority is regularly updated.

Tegrita can help you with the creation, monitoring, and regular updates to ensure the solution is functionally optimal. Our email domain extension validation program is just part of a larger solution that we provide to ensure your contact database stays healthy and up-to-date!