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.
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.
HMH: Eloqua campaign reporting on SFDC Dashboards
Client Challenge HMH approached Automate2Revenue who I was contracted to with the following objectives: Deliver SFDC CMO dashboards in Early 2021 that reflect current lead management state Agree on an approach for lead and campaign management using industry best...
Eloqua Tool: Eloqua Blind Form Submit Tool
Using the tutorial I have created here: https://greg-staunton.com/eloqua-blind-form-submit add in the different things you need to create your blind form submit in the tool below. Simple!
Eloqua Training 2.0: Eloqua Blind Form Submit
I quite often get asked during implementations for functionality over and above clickthroughs on emails or request that button on their website do things that they wish to use form processing functionality for. Well, the geniuses at Oracle came up with blind form...
Designing an off the shelf lead nurture engine for Oracle
A few years back Oracle asked me to design an off the shelf partner lead nurturing engine that they could use to enable their partners to market to their own databases on a shared instance of Eloqua. They essentially wanted me to architect what I had created when I...
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)
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!
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?
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)?
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?