Skip navigation

Marketing Challenge

We are a networking company that sell our products to reseller partners that in turn sell to the consumers. Our Marketers use Eloqua for all reseller digital marketing (B2B). Now we would like to extend this application to market to our existing consumer customers (BTC). For this we need to be able to sync our database of registered customers and their product registrations from CRM system into Eloqua. This will allow us to target market to consumers to improve brand awareness.  This will indirectly help boost revenue.


I have been tasked with this project. My biggest challenge is to sync all consumer contacts into Eloqua from CRM system with product purchase history information.  This will help our marketers create targeted segments based on product categories purchased, consumer demographics, geography among other data points.

While bringing these contacts into Eloqua I don’t want to overwrite existing reseller contact information in Eloqua database for those contacts that are present in the BTB as well as BTC database. As you know Email ID must be unique in Eloqua. So if I use the same external call, it will overwrite the unique identifiers I want to use for the BTB segmentation (ex. Record Type ID field, CRMcontactID field). I need to make sure I can track the unique identifiers for the BTB segment as well as the BTC segment on the same record (in case of contacts that occur in both databases).



Sync 300K+ BTC contacts with product purchase history from CRM to Eloqua.  The data synchronization must not overwrite key data elements for contacts that are already present in Eloqua in the BTB database.


Implementation steps

The solution I found was to create additional fields on the contact object to track unique identifiers for BTC contacts. I created separate fields for SFDCCTScontactID & SFDCCTSRecordtypeID. These fields helped in creating the BTC segment by using them in segment filters.  Additionally, I created separate BTC integration rules to manage these contact’s synchronization separately.

Lastly, I created custom object ‘Asset’ to bring BTC contact’s product purchase history information from CRM to Eloqua.


Detailed Steps:

1. Create new fields SFDCCTScontactID & SFDCCTSRecordtypeID. Then create separate external call to bring BTC contacts to Eloqua from CRM.

In the screenshot below you can see how we are storing BTC and BTB contacts data for the same email address & differentiating them with newly created unique keys.

Figure 1.1.png Figure 1.1


2.  Now next challenge is to sync BTC contacts into Eloqua but not to over write basic fields like First Name, Last Name, Address, City, Phone number if the contact is already present in Eloqua. Here Eloqua class for ‘System Integration’ helped me a lot. Advanced Options for field mapping are used as shown in below screenshot.

Figure 2.2.pngFigure 1.2


3. Created Custom object ‘Asset’ to bring product purchase history information from CRM. Then created an external call to bring Asset object information to Eloqua & mapped it to BTC contacts.

Figure 3.3.png Figure 1.3



Goal Achieved:

This will allow our marketers to use Eloqua as a one stop shop for both BTB and BTC marketing. It will help us raise brand awareness of our products among our registered customers.  Our marketers will be able to target market to our customers by segmenting on geography, product purchase history and demographic data as shown in figure 1.4.

Figure 4.4.pngFigure 1.4



As a start we have brought nearly 50K BTC contacts to Eloqua from our key business regions. We have successfully started launching campaigns and we have great hopes for incoming quarters. We are catching responses in CRM under campaigns and conversion rate will be key to success metric. Looking at the success we are going to pull rest 250K contacts to Eloqua in phases.


Helpful Eloqua University Classes that influenced this project


Eloqua University Classes

Eloqua 10: Database Configuration

Eloqua 10: System Integration

Eloqua 10: Advanced Segmentation


Last but not the least, is information I found on Topliners site. It provided great help on creating Custom Objects & their integration with CRM system as this topic is not covered in Eloqua University classes. Additionally, I found some great guides on system integrations there.

Hello everyone!

I am Hayley Whitehead, and I’ve been working with Eloqua since 2012. While my beginnings were humble (having no idea what Eloqua even was), I’ve since moved into a role where I’m logged in all day, every day ,and my focus is now creating lead nurture campaigns for the various software solutions across Dell. While not quite elevated to the “Eloqueen” status, I see myself more like an Elocello in an Eloquartet; part of a talented team and hopefully not too offensive to the ears.

When I was signed on five months ago, one of the areas I was assigned for lead nurturing automation was a product set that only had a few existing campaigns. Along with updating the currently existing campaigns, we thought another necessary step would be to market to those contacts who had never engaged. Where had they come from? Where did they go? They were basically our contact Cotton Eye Joes.

Since tackling an inactive campaign can seem like a daunting task, we broke it up into the following steps:

  1. Defining our business success metrics: For us, this would be at least a 5% open rate and 1% click-through. However, we’d be happy with industry benchmarks at 17% and 3%.
  2. Defining our highest converting assets: With the help of our campaign and product marketing teams, we analyzed reporting that showed what assets converted to the highest amount of leads and chose the top performers. We also developed special promos and offers.
  3. Developing the email content: We briefed Marcom on the target audience and made sure the copy would be short, sweet, and generate interest.
  4. Segmenting our audience: While we could get very granular, we kept it simple: the contact had been sent any email any number of times in the last 6 months and had not opened it.
  5. Built out the flow: This involved mocking up the campaign flow, defining wait times, and picking the order in which assets would be sent.
  6. Defined which areas to A/B Test: We needed to make sure we were continually targeting areas for improvement. We decided to start with timing between emails (1 week or 2 weeks?)
  7. Reporting: We identified stakeholders who would like reporting and made sure to subscribe them to the campaign in Insight.

One of the most important tasks was choosing assets. Regarding assets, I consulted the Eloqua community on whether or not to use an “Are you not interested?” type of survey. The response? A resounding no. This, of course, initially confused me. But then I thought of myself as a contact and when I had been completely unengaged with a brand. I certainly didn’t open their email unless I saw a compelling reason. Would such a reason be to fill out a survey? No.  What if they’d offered 25% off coupon? Maybe. Special promos and offers seem to be the way to go. We leveraged two of these as well as our highest converting assets, like an ROI calculator and a live demo.

The result? We exceeded our open rate success metrics, but still have ground to cover with click-through, underperforming by about .1%. Also, the results are still a bit premature since activation was only two months ago. Despite this, we still see  room for growth. We plan on implementing several A/B tests:

  • Personalization in body and subject lines
  • Timing between emails]
  • Timing on what day sent, what hour sent
  • Subject line
  • Long vs. short content
  • Image vs No image banners, and more

We also learned that the underlying data and analytics are critical. Since asking the customer directly isn’t an option, we’ve began a data append process and gone down 3rd party avenues for more information on title and industry. We’ve also began using data standardization for assigning regions. The E10: Data Cleansing and E10: Database Configuration were excellent resources, as well all of the RPM classes during strategy sessions.

Share what you’ve done to re-engage cold leads. Did you test? Did anything give you amazing results, or prove that what assets perform best?

Like any good Modern Marketer, we have always aimed to be at the forefront of marketing technologies; ensuring we are using best practices are adhered too and satisfying the needs of our clients by providing relevant content.


One area that consistently let us down was, optimizing both our email and web experience for mobile devices. You can probably put that down to the highly regulated industry we operate in, that tends to cause a slower rate of adoption for new technologies and processes. It was when one of our newer team members who was enrolled in  the E10: Personalizing Campaigns class that they asked me the question of "We personalize and use dynamic content to improve the customer experience, but why don't we do put the same effort into doing it on mobile devices? It was a valid question, we wanted too, but we always put it off in favor of other priorities. We just couldn't delay it any longer.


We started by investigating what others had done, Eloqua themselves had recently launched their mobile optimized templates, but we found those difficult to use, often time consuming to get just right. And there was very little information on Topliners bar a few random suggestions.


The challenge for us was how do we create mobile optimized email template, that could be used to create multiple layouts just by cutting and pasting blocks of annotated HTML; be adopted by users with little or no HTML experience and that improved our conversion rates.


Initially looking at the human element, we studied how long it took our team team to create a simple asset delivery email (One or two assets) and identified the skills that our team members had; some of which had zero HTML experience.


After identifying the human elements and gauging even if there was an appetite for change and the desire to learn something new, as we knew we couldn’t achieve our goals of not increasing the production time using Eloqua’s Editor. We started to look at the metrics and creating a solid testing plan to ensure that we could easily illustrate any increase in conversion rate.


While we have a firm handle on our metrics, and consistently benchmark against two best practice studies we identified the following as key to the performance of mobile optimized emails over those that were not:


  • Delivery Rates, specifically looking at 522 errors, identifying the email as spam.
  • Open Rates. Open rates should increase based on the fact the native email app on the iPhone download images and registers as an open automatically.
  • Click-Through Rates (CTR) – Measuring click-through rates do ensure our engagement.


We started the actual building of the template by recreating several different historical emails, using several different combinations of Inline CSS and @Media Queries.


We focused on the major email clients, outlook, Gmail, Safari, Android etc., basically everyone except Lotus Notes. Using litmus to test we identified, through several rounds of refinements, a solid code base that we were certain would work across all clients and browsers.


Screen Shot 2014-09-16 at 2.15.07 PM.png


After landing on a solid code base, we then worked to refine and optimize the code to ensure that it was user friendly and be robust across a wide range of layouts and use cases.


We started by annotating the HTML code with easy to understand instructions, with the goal of making something that can look intimidating into something simple and that our users would become more familiar with over time.


After we had refined our code, annotations and instructions we rolled it out to a select group of marketers, providing hand on training and then cut them loose to see if they could easily copy and paste each block of code to create a number of different layouts without breaking the responsive nature of the template.


We ran into one issue where the use of the Google Analytics (GA) integration for Eloqua broke the template after a recent update (Eloqua development are aware of this and working on a solution), but after disabling the GA campaign tracking, it immediately resolved the issue and we were able to continue our testing and training to roll it out company wide.


The feedback we got back exceeded our expectations, our production team often found it quicker to create emails this way, and gave them a thrill to see that hey had coded an email and learnt a new skill.


Early results are showing noticeable improvements when compared to pre-optimized emails with unique click-through rates increasing by over 80%


A copy of the resulting template can be found here.





More follow up with the customer after they call our call center.



  • Communicate the benefits of online banking and our website to increase the number of customers that use online banking and receive estatements.
  • Reduce call center call volume by 5 -10% for calls regarding balance inquiries or money transfer requests.
  • Reduce statement printing/mailing/processing costs by 5%


Spoiler alert:

Campaigns are not yet active so, no metrics (yet).


Incoming data:

Call center agents enter a wrap up code at the end of each call that is tied to the customer.  The wrap up code (from a standardized list) gives a reason why the customer called and the date they called.  Wrap up codes and dates are uploaded daily into contact fields. 



  1. Get customers to become online banking users.
  2. Get customers to sign up to receive estatements instead of paper statements.


Along with the wrap up codes, other fields are involved to help determine if a customer should receive an email from one of our campaigns.  The online banking user code is an easy indicator to see if we need to recommend a customer sign up for online banking.  Once a customer is an online banking user they are moved into the estatement campaign.


The estatement campaign presented a tiny challenge because I am not allowed to store account numbers or other sensitive information in Eloqua.  Luckily, Topliners helped me find a solution.  I created two fields, one field that shows the number of accounts for a customer, and a second field that shows how many of those accounts have estatements.  Using the handy Math Function Cloud App I can determine if someone could potentially sign up to receive estatements.  Those customers that receive estatements for all of their accounts already are filtered out of the campaign.

The online banking and estatement campaigns both will send second emails if a customer has not yet signed up.  They can go through the campaign multiple times (there is a cap) but only every few months.


I’m excited to get these campaigns going and look forward to showing management how much we have saved with more online banking users and more estatement recipients.


Helpful Eloqua Classes:

The following Eloqua classes helped me set up the data upload, create filter criteria for my segments, clean up and standardize data, and configure my campaign so that I can eventually have some great metrics to show management.

  • Fundamentals of Segmentation
  • Advanced Segmentation
  • Insight for Reporters
  • Data Cleansing

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.

Filter Blog

By date: By tag: