Automatically Deleting Contacts from Eloqua
Every now and then I have clients looking for a way to automatically delete contacts from Eloqua so today I’m going to share with you how.
For those of you that have found this article but wonder why you would want to do this I will give you a back story so you can see why this is useful.
Real Life Scenario
One of my clients used to use a lot of purchased lists for their outbound marketing campaigns from Eloqua. One of the problems with purchased data is that 9 times out of 10 it isn’t actually purchased. It is actually rented. They had uploaded lists from several sources but hadn’t paid attention to the use by date and just continued using it. When a list broker rents you a list you will own those contacts for a fixed term, i.e. 6 months. Over those 6 months you can email the list and if a contact opens an email you get to own them. To ensure that you don’t just keep the whole list they like to spike it with email addresses for fictitious companies that they have access to so they can detect if you are in breach of contract. If you are then they send you a bill for another 6 months. The client in question had rented a list of all CIOs in the USA for $40,000 over the term. When they kept on emailing the contacts their account manager sent them the bill, which as per their contract was indisputable for another $40,000. Understandably they weren’t too happy and someone lost their job.
We developed a process for uploading contacts so they we would store their list expiry date which allowed us to do two things. The first thing allowed us to ensure that the client didn’t re-purchase contacts from another list broker when we already had that contact and the other thing was to remove the expiry date when a purchased contact engaged with the client.
The solution was a program in program builder. The final step of the program was the automatic deletion on contacts from the Eloqua database that has reached the date of expiry and had not engaged.
Eloqua Technical Solution
The technical solution is relatively straight forward. It involves five things:
-
- 1x Eloqua shared list (contact group)
- 2 x Program steps
- 1 x Eloqua deduplication rule
- 1 x Eloqua deduplication handler set
I won’t bore you with how to create a shared list that is pretty straight forward. For this example the Eloqua shared list (Eloqua Contact Group) is called “SYSTEM_DELETE”.
Step 1 – Add the contacts to an Eloqua contact group
(You have to do this so the deduplication rules can run)
Create the first automatic deletion step in the program which will add contacts to the Eloqua shared list you have created. Select “Add to Contact Group” and select the contact group that you want contacts to move into for automatic deletion.
Step 2 – Create the Eloqua deduplication rule
(This is a dummy rule to trick the system into giving you access to the contact delete function)
Open Eloqua up in a new browser so you can keep program builder open. Go to Contacts > Data Tools > Deduplication Rules > Create New Deduplication Rule.
Give your new rule a name and then click Save.
Check the check box for apply to filter, select Email Address, and add *to the filter value. Next select Email Address on the comparison field. Finally click Save.
Step 3 – Set the Eloqua deduplication handler set
(This creates the automatic delete)
Click on Deduplication Rule options. (Top Right)
Select New Deduplication Handler Set.
Give your Eloqua deduplication handler set a name and click Save.
Select “Matches (Destination)” and click Add Handler.
Select “Delete Permanently”, then Continue.
Repeat the last step for each of the 4 options and click Save and Close.
Open your other browser up with your program and create the next step in the program. Give the step a name and then set the action to be “Run a Match/Deduplication Rule”. Next select the contact group that you are using too store the contacts you wish to delete that was used in the previous step. Then select the deduplication rule that you just created and finally set the handler set that you created to delete contacts.
Conclusion
So there you have it, you can now delete contacts automatically from the platform. Whilst it is entirely possible to use this function slightly differently and run both contacts you wish to delete and those that you do not wish to delete we don’t recommend it. Accidents can happen.
Eloqua Technical: How to capture exactly which campaign, medium, etc, a lead used to come on to your website even though they navigated around several pages before conversion.
I got asked by a subscriber how they could track UTM parameters on the first touch to their website from all mediums, campaigns, etc because contacts where coming to their website, navigating around and then submitting forms. After I helped them they no longer had a...
Eloqua Blog: The benefits of Integrating Oracle Unity with Eloqua
I am getting more and more enquiries about Oracle Unity and what benefits integrating it with Eloqua will bring. To help you better understand this new world I have put together this article. If you want to know more about it or have a project to integrate the two...
Eloqua Guide: How to use the Eloqua Sandbox
In the ever-evolving landscape of digital marketing, it's crucial to have a safe and controlled environment to test new strategies, campaigns, and configurations before implementing them in your live Eloqua instance. Eloqua offers a sandbox environment for this...
Eloqua Progressive Profiling 3: Hiding standard fields when you have the data
When an Eloqua landing loads, provided the user has the Eloqua cookie set, their information is automatically populated which gives you something to play with. The third part part is what I call standard Eloqua form fields (If this is the first piece of the tutorial...
Fantastic article Greg. Just 2 things to note the program won’t activate because the Match/Duplication Rule Handler Set is not selected in the last step and screenshot to create the new duplication rule is showing the update rule (however if someone doesn’t notice this then they really shouldn’t be doing this anyway)
Thanks!
LOL – Love your response, I left that part of off but like you said “if someone doesn’t notice this then they really shouldn’t be doing this anyway”. Good spot!
Hi Grey,
I created a segment that identify “Inactive Contacts” and have been manually exporting these contacts out from Eloqua and import the same file with option “Mark as bounceback”
May you advise how can I automatically mark Inactive contacts from this segment as bounceback please?
Thank you.
Hi there,
So I would use one of two approaches:
1. I would either use a field on a custom object, preferably your subscription preferences CDO or a contact field (personally I would go down the custom object route). Create the field and then use a feeder on a program which would identify the Inactive Contact and then use program builder to push their associated custom object into a custom object program, that would update the custom object field. If using the contact field route just use an update rule.
2. You could use a program to pull them in on a feeder and then update them instead as a hardbounce – sadly the mark as unsubscribe isn’t a function.
If you want a one to one on this https://meetings.hubspot.com/gs14
Hi Greg, sorry for my late response.
I’m very new to Eloqua and I’m don’t know how to use a feeder and create a program builder.
Do you have any tutorials along this line to create feeder, program builder, custom object program?
How do I push the contacts from this “Inactive contacts” segment into the program, mark them as hardbounce (i.e. Invalid Email status when we search for contact)?
Thank you.
With regards to Step 3 with instruction “Repeat the last step for each of the 4 options and click Save and Close”
If we also set the Dedup Handler “Delete Permanetly” for “Non-matches (xx)”, won’t that delete all the other contacts that does not match the Shared List, which is the remaining of the Contact DB?