Skip navigation


My challenge was to find a way to connect a Third Party system with Eloqua to store content (shared content) in Eloqua from outside the Eloqua universe.

With this connection the possibilities are unlimited and the data ( stored in shared content folders) can be used in emails and landing pages. Just like field merges and dynamic content. I would like to explain the integration using a simple example: the current date. I would like to enter the current date into the email content, e.g. into the headline to write: "Your offer is only valid on 25.11.2018" (today) or "Your news on 25.11.2018." (today).


Further application possibilities:

  • your trial ends on <date + 30 days>
  • your call back request on <date today>
  • your offer is valid until <date + 14 days>



  1. You will need a Zapier account to build zaps like this and you will need a Multi-step Zap, so you need a minimum "for work" account or the "for team" account.
  2. You will need the Authorization ID for your Eloqua instance to input data via REST API to Eloqua ( If you don't have a Authorization ID, please talk to your Eloqua Admin).


Creating "Shared Content" in Eloqua

  1. login into Eloqua and select "Components" and "Shared Content"
  2. click on "new", enter a name and click "save"
  3. double click on the Shared Content, click ">>" and click "settings"
  4. note the ID. e.g..: 3051.


Creating an Integration (Zap)

  1. First you will need a trigger app: Click 'Make a Zap!', search and select the build-in app "Schedule by Zapier"
  2. Choose the Trigger "Every day" to make sure the data will refreshed every day and click "Continue".
  3. Choose the time of the day you want to refresh data and click "Continue".
  4. You can test this trigger app and click "Continue".
  5. Now add the action app "Formatter" to format the date in a format of your choice.
  6. Mark "Date/Time" and click "Continue".
  7. In the step "Transform" choose "format" and insert a value in the step "Input" (see screenshot1)
  8. In the step "to format" choose the format you need. In my chase I choose a custom value to format the data for Germany.




9. Now you can test the action app and you will see the output. In my chase is this "25.11.2018".(screenshot2)




10. Add a new action app "Webhooks by Zapier" and select "Custom request". Because it is not possible to add data via a blind form submit to add content  to "shared content" in Eloqua, you will need to do a "Custom request" to send data to the Eloqua API to add data to "Shared Content" in Eloqua.

11. select "put" (update an existing content section) to the "Method". (Screenshot3)

12. Enter the URL:" followed by your Shared content ID (e.g.: )




13. Add some JSON ("JavaScript Object Notation") code: minimum "name", "id" and contentHtml". (screenshot4)

{ "name":"name of the Shared Content", e.g. Date_day_de_to_Eloqua "id":"your ID" E.G. 3051,      "contentHtml":" insert the data from step 2" }


14. add headers for "content type" and add "Authorization" and enter "Basic" and your API ID to authorize your instance. (Screenshot4)





15. Click "Continue"


Congrats! You created your Zap and now check the result in the Shared Content file in Eloqua.


Useful references

- more informations about the REST API, applications, tasks, possibilities



The possibility of shared content in Eloqua and Zapier is a perfect interaction. With a current date in Eloqua we can improve the email content and we are more flexible to send Marketing emails best practice. Due to this automation, a date can now also be used in ongoing nurture email campaigns, since they are always up to date. This opens up completely new possibilities to send data to Eloqua via Third Party System and use it directly without using Custom Objects or contact fields. So to get contact independent data to Eloqua that can't be stored normally in Eloqua or in contact fields, account fields or custom objects, this is a good way.


The idea for this solution came to me when I was watching the Oracle Eloqua -- B2B: Develop and Design course, and I learned a lot about how to post information to Eloqua forms via the HTTP Post method (blind form submits). The Topliners community are really great and many Topliners posts were also helpful. And to build best practice ongoing nurture campaigns, the courses Best Practices: Lead Nurturing Campaigns were extremely useful.


Special thanks to Kevin Cassidy for his support!

Lessons learned when scaling Eloqua from a house of 1 to a party of 10.


The Situation: We implemented Eloqua and our SalesForce instance 8 years ago and during those first 8 years we had one primary admin (myself) and at most 2 daily users focusing on email campaigns. In 2018 we added 5 additional members focused on email and webinar campaigns, 2 additional members from our EU office, 2 additional admin level users, and 5 additional users with basic marketing access to create simple campaigns as needed. OH, and not to mention only one of the new team members had previous Eloqua experience and we also acquired three companies that needed to be incorporated into Eloqua. Needless to say, we had a lot of work ahead of us!


The Challenge: Extending the Eloqua Platform to additional users and audiences in a short time frame.

The Goals: Provide the resources, knowledge and tools to a growing team and increase team efficiency

The approach: In order to take the team where we needed to head, we focused on 3 foundational areas:

  1. Training & Team Communication
  2. Up-to-date Documentation
  3. Creating a clean Eloqua house!


1.) Training & Communication

When adding new team members to Eloqua, it’s essential that they have basic training and that we error on the side of over-communicating any changes. To accomplish this, here’s the standards we put in place:

  • Eloqua University Pass members AND required the completion of Fundamentals within the first 3 moths of being hired. The sooner the better!
  • Bi-Weekly Bite-sized trainings (60-90 minutes) to new team members and open to existing team members focused on the same topics covered in the Fundamentals courses, but applied to our specific instance. For example, Emails—what email groups are available, when to use which one and why, how to use our templates, etc.
  • Weekly open office hours. If the team needed help or had a question, I set aside time that they knew I would always be available and not in meetings.


Up-to-date Documentation

When it’s a small team using Eloqua, documentation may not feel like it’s important because it’s easier to keep on track of the changes and especially if the other team members sit near you in the office, it’s easy to just ask a question. However, as the team changes and multiple projects are in flight and interconnected, it becomes essential and believe me, will end up saving HOURS!


Here are a few things I suggest documenting

Integration (inbound and outbound)

Purpose: Quickly reference what fields are being passed between Eloqua and CRM and when. This is useful to share with non-Admins and even non Eloqua users for them to understand the connection between Eloqua and your CRM.

How: Our documentation is set up in an excel format with a tab for each Salesforce object we integrate with (leads, contacts, accounts, etc). Each tab contains the related field names in Eloqua, and a column for each type of call to/from Salesforce showing what fields are mapped.

See screenshot:



To populate this document for the first time, the easiest way is to navigate to Settings> integration >Outbound >External Call Overview and select each entity. You can also view each external call referenced in your autosyncs (for the retrieve calls) and you internal events (for your send calls) to populate the fields and mappings.


Pro Tip: Include a Change Order Log to keep track of when items are changed and why. We include this as the first tab of the document and include a column for the following items with an example of what would be populated.

  • Date:
  • Super star team member making the change (ie. Your Name ):
  • External Call edited:
  • Field Updated:
  • Description of change:
  • Business Reason for Change:


Field Definitions:

In additional to documenting when fields are being updated, we also created a document to define all fields in Eloqua. This was helpful for the team to understand which fields they need to reference while building segments or filters.

If you have a lot of custom objects in your Eloqua instance, this may seem daunting, but start with the basics: Contact and Account fields.

The Format:

We recommend an excel file again, with a tab for each object (Contacts, Accounts, Opportunity CDO, etc). We have a column for the following:

  • Eloqua Field Name
  • Definition/description
  • Example Value
  • Notes

If you’re doing this for the first time, take the time to note fields that may no longer be needed and can be deleted, fields you might need to confirm accuracy and usage, and fields that you should delete but can’t for whatever reason. We greyed out old fields and in the notes included that the field was no longer used but could not be deleted.


ProTip: Eloqua has already defined the out of the box fields, so you don’t recreate the wheel here and just copy and paste from the source:


Form Inventory

As our company grows and processes change, we often find ourselves needing to make updates to our forms at a global level (ie. Add a preopulated hidden field). Its easy to lose track of forms, but a simple form inventory will save time when changes are needed.

The format:

You guessed it, an excel file! We’ve formatted ours to have one tab per brand and within each tab we have a column for form name, html name (important for our web team to easily access), Type of form (ie. Demo, webinar, system/operational), description, and status (active/inactive).



Once the above documents were compiled, we started getting in to the nitty gritty! We completed an entire program (canvas and builder) audit to document current state, find gaps and opportunities, and then began building future state and documenting them along the way!

Documenting the details of programs may seem overkill, but the purpose is two fold—first, it was useful in sharing amongst the team and org when someone needed to know how a particular program was working. We’ve saved hours by being able to send the document for the recipient to be able to read on their own time as opposed to having to set aside time to meet and verbally transfer knowledge over! The second purpose, is for when we need to go back and make any changes to a program, we were able to refer to documentation first which helped us understand WHY we had set it up a particular way and allowed us to quickly return back to our train of thought we were in while building. How many times have you looked back on a program and asked yourself “why did I do it this way?’’ Well, the documentation time and time again has answered that question I ask myself! Each document contains a table of contents, Program purpose, program overview and descriptions of each asset/process.


Pro Tip: Each Program has its nuances in the documentation. Create a template that helps create standards and serves as a guide but be flexible and know that sections may need to be added or removed.


Creating a Clean Eloqua House.

As more users begin using Eloqua, each minor inefficiency is all of a sudden multiplied. We wanted to make it as efficient as possible to navigate assets, build segments and execute campaigns. After providing the team with proper documentation and training, it was time to clean up our instance.  Here’s the area we focused on.


Contact Washing Machine:

Data cleanliness impacts nearly every aspect of marketing automation – Accurate targeting, campaign performance, customer experience—you name it! We followed Eloqua’s best practices for launching a Contact Washing Machine. These steps include:

  • Determine Key Fields
  • Evaluate current state and values
  • Create future state on desired values
  • Build necessary update rules, picklists, normalized fields and programs needed to clean
  • Launch CWM Program
  • Document results
  • Monitor and continually improve


I’m not going to go into step by step details as there are already a plethora of blogs and resources that will walk you through these steps. Here are a few resources:


Naming Convention & Foldering

We created a standard naming convention and foldering system that worked for the team.

Benefits of a standard naming convention and folder:

  • Improved reporting: ability to more easily report across campaigsn, emails or forms and be able to see the purpose of each asset at a high level
  • Quicker execution time as the team can find what they’re looking for more easily!
  • Enable quicker execution of Lead scoring based on assets in folders


After taking a look at current state and categorizing types of assets, we took a first stab at a recommended naming convention and foldering structure. Next step, and most importantly, we brought our recommendation to the wider team to get complete buy in. It’s important that the new system works for the team and that they understand the benefits, otherwise adoption of the change will be an uphill battle! After agreeing on a structure and naming convention for assets, we performed an asset renaming and foldering party for assets creating within a particular time frame, and agree to archive the rest.


Resources: Here are some great resources to get you started!


Eloqua courses essential to our success:

B2B: CRM Integrations

B2B: Data Cleansing

B2B: Program canvas

As a marketing manager in my previous work, I always struggled to draw insights from the tremendous amount of data available using the marketing automation tools on hand. Wouldn’t it be nice if I turned on my analytical tools in the morning while I sip my coffee and immediately I’d already be able to tell what operational risks might be present, what opportunities are being realized, and crucially, what the next move should be?  In my current role of helping enterprise marketers adopt Eloqua over the last 4 years, I have observed marketing executives endure that same frustration. 


Marketing Challenges

Marketing executives are constantly facing the challenge of transforming mountains of isolated data points into insightful information that enable sound business decisions. This challenge continues when using Eloqua, a wonderful platform with many strengths, but where there is no central dashboard where marketing managers can go to insights and answers in real time. This is definitely a pain point for one of my enterprise clients who operates globally.  Eloqua has a lot of great out-of-the-box analyses and dashboards, but they are not laid out in the way that my client wants to consume them.  What he wanted was a visually friendly and informative dashboard that shows all the improvement to be addresses and new feasible marketing initiatives for the short and long term.   


Setting goals and success indicators

To know whether a project or campaign is successful, you have to first establish what would success ‘look like’.  It helps to understand the goals of the project. Initial discussions with clients were essential for developing user requirements and specifications for the dashboard that would need to pass user testing:


  • One single dashboard
  • Visually appealing design
  • Simple, intuitive navigation
  • Clear, understandable data


The goal was ultimately understood that we needed to create a visually friendly and easy to navigate, one stop dashboard that would allow the management to easily identify the opportunities and improvements.


Understanding current state

When we looked at the software as implemented there were a lot of reports with overlapping information, and there was no central place for the management to have a comprehensive view of marketing activities.

  • First, we audited the existing reports and identify the most relevant ones: what’s needed and what’s not.
  • I engaged in discussions with marketers and executives on which reports are most relevant and business critical.
  • Identified which reports and data would be incorporated into a dashboard


Initiatives taken and steps followed to implement:

To start, we categorized the marketing activities into four categories.

  • Key Performance Indicator (KPI): this showcases the number of campaigns we run which turned into the number of new contacts coming into the system and number of qualified A1, A2, B1, B2 leads that we have passed on to the sales.
  • Output: contains the number of emails we sent out and the frequency of delivery to existing contacts and new contacts, the forms that had been built, as well as landing pages.
  • Opportunities: covers the email sends, opens, click through and by device, we also added the form submission by email and form submission trend.
  • Improvements:  we also wanted to identify the areas where we could make short and long term improvements. For short term improvement, we have added email bounce back overview.  For the long term, we have landing page form abandonment rate and contact fields’ value.


Steps taken



  • We had extensive discussions with the stakeholders about the reports needed with references provided by Eloqua’s building blocks page
  • We refined the reports and removed the overlapping reports.
  • We identified the following reports to be most relevant to the dashboard:


    • Campaign Analysis Overview
    • Total New Contacts
    • Lead Score by Contacts


    • Email analysis Overview
    • Email Frequency by Month
    • Email frequency by month - New contacts



    • Email Open Overview
    • Email Click Through Overview
    • Email Open by Device Platform Trend
    • Form Submission by Email
    • Form Submission Trend
    • Form Submission by Email


    • Campaigns by landing page form Abandonment Rate
    • Contact Field Value
    • Email Bounceback History with Messages


Steps 2:

We fine-tuned the analysis so that each analysis would not have overlapping attributes and matrix.  We also selected the analyses that are relevant but did not produce so much data that could impact the performance of returning the data. We saved all the newly created analysis under my Folder so that they can be accessed by the dashboard in Step 3.


Step 3:

Put it all together on a dashboard.

  • Click on New=>Dashboard.  We named it Marketing Initiatives and Opportunities Tracker and saved it under My Folder.
  • Access the Gear icon in the top right hand corner to get the Dashboard Properties to add the 4 pages and named them “KPI”, “Output”, “Opportunities” and “Improvements”. 

  • Drag “Section” onto the Canvas, go to the gear icons to configure the format of the Column.  Then Gear icon in the Section, to rename, format and select additional capabilities to allow the user to interact with the reports.

  • Under Catalog, click on My Folders to add all analyses whether in table view or graph view. The analysis can be side by side giving the size of the report. Giving the size of the Email Bounceback History with Messages report, instead of having the whole report, we just embedded a link in the dashboard, so the user can be taken to the report itself.

  • Configure the agent to deliver the dashboard.

  • Preview and Save. Remember to save every step of the way so that no work is lost.
  • Published to the manager’s dashboard.

  • Lastly, go to My Account to change the starting page to Marketing Initiatives and Opportunities Tracker, so that whenever you log into the Insight, the first thing you will see would be this dashboard.


Business success

By auditing the existing reports, not only does it allow us to build relevant, business critical reports, it also allows an opportunity to retire the overlapping and irrelevant reports and gave us a cleaner database.  Stakeholders gained a clearer picture of the reports available and relevant to them. These timely delivered reports allowed management to make informed decisions.


Some quantitative statistics can also help demonstrate success:


  • Managed the hard bounce below 3%
  • Based on the results from the reports, we have adjusted the frequency of the email sending to our contacts, the email call to action location, the length of the form based on the industry best practices, all of the efforts combined resulted in a 10% increase in clickthroughs and reduced form abandonment rate by 5%.


It’s been a month and my client has been enjoying opening up Eloqua and seeing the performance of the marketing team. And he’s able to publish the positive results to showcase his work to his management, a true win-win situation.


A Few Additional Tips

  • Condition for dashboard section is a classic design and currently only available for the change of number of rows.  This is not very useful for any analysis and dashboard.
  • The analyses that have been saved in my Folders will only be displayed if the new dashboard is also saved under my Folders.
  • When you add a report on the right hand side of another report, make sure to drag the report until you see a blue line.


Marketing Cloud Courses That Helped

B2B: Analysis

MM: Leadership Metrics

B2B: Conversion (OnDemand)

B2B: Engagement (OnDemand)


Additional Resources That helped


Product documentation


Eloqua Product Update Insight one stop shop: A New Look for Eloqua's Reporting Has Arrived!


New Insight: Report Building Blocks


New Insight: Report Matrix

It’s an accepted fact that data management is an important requirement to be able to run accurate segmentation and targeting for marketing campaigns. Dirty data can cause chaos in your Eloqua instance. Establishing a suitable Data Cleansing Program and then maintaining it becomes ever more challenging with organizations that includes multiple data entry points and several teams actively involved in data entry.


Data cleansing has been a common pain point for those in the sales and marketing forefront. This could impact every aspect of the daily job. The concept of the Contact Washing Machine (CWM) has existed for some time, however and with the evolution of marketing automation, a Data Cleansing Program becomes ever more necessary in leveraging valuable marketing efforts such as lead scoring, reporting, advanced segmentation, as well as dynamic content.



The Common Marketing Challenge


Incomplete, inconsistent, decayed and a non-standardised database means obtaining key marketing metrics becomes challenging. These includes email deliverability, addressable contacts, and the volume of the target audience. Moreover, this could potentially directly impact the lead scoring module in place.


Larger organizations with complex integrations with CRMs, such as, presents wider a challenge. It is important to understand your integration setup and the flow of data.





  • To identify incorrect data. Understand the root cause of the data health problem. Develop a plan for ensuring the health of data and future benchmarking on a quarterly basis.
  • Reduce the amount of bad inbound data on forms and lists, while enhancing new data added to the database.
  • Implementation of tools that reduce manual inspection and programming efforts and to streamline the process.
  • Increase the overall opportunity to leverage tactics such as progressive profiling and to strengthen automated decision making to the current lead scoring model through data cleaning.



Documenting the Current State for Future Benchmarking


Data Quality Reports


Eloqua provides reporting tools which will assess the health and status of your database. Some of the reports are mentioned below. Note that these reports should be used before and after the change. The most important goal is to reduce the number of blank fields and to correct the incorrect values.


  1. Contact Field Value. Report shows the percentage of contacts with different values
  2. Contact Field Completeness. Reports show how complete each field is (by %)
  3. Fields & Views section. This is important to start building lookup tables for the update rules to overwrite wrong values or fill the blank fields



Achieving Data Quality Through Eloqua: Implementation Steps

1.0 Building the Contact Washing Machine


Data cleansing through Eloqua’s CWM continually monitors Contacts and initiates cleaning if it encounters erroneous contact data.The CWM is connected through the Program Canvas and/or Builder, an automated workflow that allows you to integrate data tools to wash data. Connector applications include, but are not limited to:


  1. Look-up Tables
  2. Update Rules
  3. Cloud Connectors


The below considers the wider scope of the CWM. It is advised to start small and gradually expand its functionality.


Do not forget to think about other, integrated, databases that might play a role in data management. If you clean up your field in one system but the other system overwrites those values, you could be adding unneeded complexity to the process or simply wasting your efforts.


Process steps:


Look-up Tables

Lookup Tables are a two-column table created as a Custom Data Object of associated data values; one column in which a look up can be performed, and a second column holding a corresponding, associated value.


  • Standardise Data: Building Lookup tables helps to standardize data and keep the values consistent.
    • For example, replace dirty (existing) values with the normalized (new) value. Look up values like “USA” or “U.S” or “U.S.A” and replace with a standard value such as United States. The same process can be used for any other field required to clean in your database such as company value.


  • Validate Data: Lookup Tables can be used as a Find and Replace functionality.
    • For example, look up values like “Test” or “123” and blank them out or replace them with a standard value. (Useful for Progressive Profiling tactics).


  • Populate Data: Populate data with lookup tables.
    • For example, assign a lead to a particular salesperson based on a contact's region.


      • Creating a Lookup Table:
        1. Navigate to Audience > Tools > Data Tools
        2. Click the Data Tools menu > select > New Lookup Table
        3. Enter an appropriate display name, for example Normalize Country
        4. Enter an appropriate description (optional).
        5. Enter a lookup value column name
          • This is the column name for the original field values that you are looking up to replace, for example, Country
        6. Enter a replacement value column name
          • This is the column name for the field values that will replace the original field values, for example, Normalized Country
        7. Check or clear the Values are case-sensitive field, depending on the state of the data you are looking up
        8. Click Save
        9. Add values to the lookup table manually by entering the lookup value, the replacement value, and then click Add.
        10. Multiple entries can be uploaded from an existing file by going to Manage Entries > Upload Lookup Table Entries (.CSV)
        11. Follow Wizard > (1) Data Source, > (2) upload Data source > (3) Field Mapping > (4) Summery > (5) Finish


  • Update Rules
    • An update Rule is a definition of criteria used to update field value(s) in Contact, Account, or Custom Object fields. Each Update Rule defines a field to update, as well as an update action to take against the field value.
    • An Update Rule Set is a collection of Update Rules to be run together in sequential order.
      • In a Contact Washing Machine, Update Rules act on the information provided in the Lookup Tables.
    • Update Rules allows the process of manipulating information WITHOUT having to manually oversee the process.


      • Creating an Update Rule:
        1. Navigate to Audience > Tools > Data Tools
        2. Click the Data Tools menu > select Update Rule Set
        3. Enter an appropriate update rule set name
        4. Give name of entity type > for example: Contacts
        5. Click > Add Update rule
        6. Select a field to update > search > make selection > Ok
        7. Edit update Rule by selecting the field to update:
          1. Select an update action. Options include:
            1. Append set value to field -  Append a specific value into a field
            2. Apply date stamp – (Consider this for GDPR)
            3. Overwrite value form Lookup Table Field
            4. Overwrite value from other Field - Take value from field A and overwrite it to field B
            5. Set to value - Allows you to write a hard coded value into a specific field
          2. Select a lookup field by searching it via the Entity Field Search
          3. Select Lookup Table (This of course must be created and uploaded beforehand)
          4. Apply > Save


    • Note: Just be sure to analyze and scope the current values within your database. Use Eloqua Data Quality Reports to analyze. Moreover, then consider using OpenRefine (formerly Google Refine) which is a powerful tool for working with messy data to explore large data sets with ease. 


  • Cloud Connectors: Data Cleansing in the Cloud
    • Cloud applications help to process and clean data.
    • Very similar to Lookup tables but with no need to build a table, it allows the normalisation of data in a given field in a number of already maintained MASTER lookup tables inside of Eloqua.
    • Note: You will first need to install the CWM app and go through the configuration steps. 


          Use Cloud Connectors


      • Contact Data Normalizer: Allow mass normalization of common fields

Example below:

            • Title is VP of Marketing
            • Job Level is Executive/C-Level


      • String Manipulation: Allows the use of regular expressions or trim functions

Example: Jon smith – smith is in lowercase.

            • After String Manipulation:
            • First Name = John, Last Name = Smith - Smith becomes Uppercase.


Other Advance FIND and REPLACE functions include:

            • Trim extra spaces


Update Rule Vs. Standardization Action (CWM App)

The key difference between using an Update Rule vs the lookup action of the CWM app is the level of detail and customization.


2.0 Database Checklist


Useful Database Checklist prior to automating the Contact Washing Machine. Did you:


  1. Create new Contact fields to store normalized Data?
  2. Ensure Cloud Connector setup and access is enabled for the database?
  3. Ensure user account is configured with API user security access?
  4. Ensure the account is created on
  5. Create Lookup Tables based on needs?
  6. Create a Contact Filter to find dirty Contacts?


3.0 Automating the Contact Washing Machine


Program Canvas is used to create automated workflow's or program builder that can be used to carry out various marketing functions and to cleanse Contact Data. Depending on your requirements, these can be simple or complex workflow's. Below are the elements that are utilized within the Program Canvas for the CWM:


  1. Add and Configure Segment(s): Use element to configure entry for all contacts that feed into your program.
    • The two available options to add contacts to a program are:
      • Listener: This program step examines the Eloqua database for changes in real-time, and then pulls the contacts into the program based on the changes. You can pull either new contacts or old contacts that have been updated with a new lead score. Alternatively, you can configure other Eloqua elements to push contacts to the listener step. These sources include: segments, forms, campaigns, programs, or custom objects.
      • Segment Members: This program step pulls and adds contacts from an existing or a new segment to the program. You can also set the frequency of evaluation of this step.
  2. Add and Configure Update Rule(s): Use element to move contacts through a rule set in order to update contact fields or custom object records.
  3. Add and Configure Contact Washing Machine App: Use element for cleansing of contact fields. You are able to define one or more contact fields as inputs, then run actions such as trim, concatenate, adjust case (propercase or lowercase), and perform lookups to populate fields. The data can then be mapped back to that same field or a separate field.
  4. Add and configure the Add to Program: If needed, add any additional processing steps (For example: You may want to route the updated contacts to your CRM integration program or maybe add them to a shared list.)





A Data Cleansing Program is a worthwhile initiative, but only if it leads to a healthier pipeline. The goal should never be just to have clean data, but rather to take action once that data is clean. The CWM has the potential to tremendously improve the segmentation and targeting capability and its overall effectiveness. It could be very difficult to score leads without normalized fields. This is especially true for a lead’s profile score. The program reinforces an automated cycle, ensuring leads from data entry points such as web forms are consistently clean. Other beneficial impacts include:


  • Reporting - Increased reporting capabilities on leads or contacts, which will help make decisions on where to invest in the lead generation efforts.


  • Strategic persona-based campaigns through better segmentation. Increased capabilities to draw from these personas will drive the way segments are conducted on a database and thus interact with clients or prospects with the goal of increasing engagement and driving more sales.


  • Dynamic Content - If you have implemented nurturing campaigns, you understand the importance of dynamic content.


  • Routing - When a lead finally hits your scoring threshold, or raises their hand via a high value form-fill, you'll want them to be routed to the correct sales team or person.



Helpful Marketing Cloud Courses and Blogs


  • B2B Targeting
    • B2B: Advanced Segmentation
    • B2B: Data Cleansing
    • B2B: Web Profiling
    • B2B: Custom Subscription Management
  • RPM: Effective Nurturing
  • RPM: Lead Quality
  • RPM: Targeting & Segmentation
  • B2B: Fundamentals of Segmentation
  • Blog Post:

Data Management: DIY Marketing Success

Marketing challenge

One of my clients consistently had a large volume of unprofiled, barely contacted data supply on a monthly basis that caused them a lot of frustration. As my client’s marketing department didn't know much either about these prospects or the pool’s quality, any campaign in which this particular data pool was used basically hurt their reputation. Moreover, these campaigns didn’t resonate well with target audiences and may have resulted in unwanted communications, paving the way for a subpar user experience and a damaged brand reputation.



Technical improvement

Using such data also caused efficiency challenges, as there were no automated workflows behind the contact pull. Marketers had to manually load the data into Eloqua from the CRM system (SFDC).




After having several discussions with the stakeholders, the following solutions were delivered.

  1. Automating the contact pull from CRM with appropriate tagging.
  2. Creating an always-on "warmup" campaign which automatically pulls in the appropriate contacts and washes them through a 5-step journey to introduce the brand and solutions, explaining why they receive the emails and what to expect. The contacts were also profiled based on their interactions. These contacts couldn't be added to any other campaigns until they’ve finished this journey.
  3. To be fully transparent and people-focused, driving people to custom subscription-management page to help them update their preferences as soon as possible – even if it means more unsubscribes; which is fine if that’s not their cup of tea.



KPIs and goals

When talking about improvements based on the above-mentioned solutions, that's typically a long-term benefit, however, the desired KPIs and goals were the following:

  • Significantly cleaner database
    • Hard-bounce email addresses instantly filtered out
    • Helping people to be unsubscribed as soon as possible if they don’t want to hear from my client's company at all
  • Much more actionable database
    • Entry points for further journeys based on my client's most crucial proposition areas
    • Anyone who had a certain period of inactivity automatically pulled into the re-engagement variant of this campaign
  • Opportunity for hand-raisers in the earliest stage
    • Helping hand-raisers to contact the company via a single click (using blind forms)




Integration sync - Program

  1. CRM campaign membership (first data pull): The process begins with CRM data load – new contacts are associated with the appropriate CRM campaign ID during the data load
  2. Eloqua auto sync 'Get campaign members' pulls them into Eloqua
  3. Campaign members are populated in the campaign members CDO - which shows the last CRM campaign membership for each contact
  4. On the CDO client services, Eloqua sends the new contacts to a program „Set to Do not disturb flag” (based on the appropriate campaign ID)
  5. In the „Set to Do not disturb flag” program:

1) Eloqua checks if the contact is already a member of the shared list „Welcome – do not disturb” (if member, then exit)

2) Eloqua adds the contact to the mentioned shared list for safety purposes

3) Do not disturbed field is set to checked through an update rule step




  1. An always-on segment pulls contacts in based on the appropriate CDO campaign ID
  2. Eloqua sends the contacts through multiple steps during the campaign:
  3. Before exit, „Do not disturb” is set to unchecked through an update rule step (excluded contacts from any send go through the same process before exit)
  4. Before exit, Eloqua adds contacts to further campaigns based on their interactions - custom priority model exists within these campaigns
    1. Email steps based on industry
    2. Checking email activity and adding the clickers to profile buckets (shared lists)

  Note: over-communication limiter steps are unnecessary here as this is the first and only email sequence that these contacts can receive at this time.




Measuring and reporting performance

To be able to measure impact, reporting was completely differentiated from that of other prospect-focused campaigns. Our focus was to monitor hard bounce backs, inactive contacts and campaign metrics. Our goal was to define the differences between the old and the new model regarding all the other prospect campaigns.

For wide-range visibility, we created multiple dashboards, focusing on the following:

  • Hard bounces (metrics: warmup and other prospect-related campaigns separately)
  • Unsubscribes (warmup and other prospect-related campaigns separately)
  • Inactive contacts across all prospect campaigns (excluding unsubscribes)
  • Main campaign metrics (landing page, form and email related engagement metrics) on a campaign level

We used our older metrics as a baseline, constantly checking improvements.


We gradually improved and iterated the campaign based on the results. We also executed multiple A/B tests regarding emails (mainly on subject lines and sender names), as well as landing pages.



Some influences




Sage had numerous data bases in various states and with various integrations. Complete and accurate customer information for targeting and suppressions was a challenging and time-consuming process for all North American teams. When we began to look at the time the ad-hoc processes were having on our various teams we knew we needed to act and streamline our process. Our goal was to get to a nightly refresh of all customer data stored within a single Eloqua CDO.






Solution & Implementation


Sage needed to get to a single source of its North American customer data that refreshed on a nightly basis and could be stored in a CDO.  Completing the B2B: Convert with Custom Objects course really helped with set up. We reviewed the current state of where and how data was coming into the system and how much time it was taking to complete all the ad-hoc processes.


The Set Up:


Assemble a team


Assemble a team to help drive the project forward. It is necessary to have people familiar with the platforms you are extracting the data from, people familiar with the data and it’s challenges and someone to handle the Eloqua side of things.


What do you need?


Discuss with multiple teams on what is needed and in what formats, for example, products may have descriptions, part numbers, material ID’s etc. Making sure you know what format is the easiest to understand will allow for filtering within Eloqua. Consider all aspects such as products and add ons, service plans and dates.


Identify your data sources


Do you have one or many systems where the data you need is kept?  After identifying what you need, determine where it is located and what is available to you for extracting the data from those systems.


Understand the challenges


You are only as good as your data. CRM systems and other databases where the data you need is stored are not always the cleanest. Taking the time to identify issues that could impact the success of your project is critical.


Here is an example:


Identifying data obscured to protect for privacy

img 1.jpg

Here we see the same company has three different accounts within the database.


img 2.jpg

img 3.jpg


The problem is compounded at the contact level, here we see one contact is listed twice on each account, one account using the same email address across two accounts. When bringing the data into Eloqua where we want the email address to be the unique identifier this will be a challenge creating multiple CDO records.



Determine your process


Once you have your data, does it need to be cleansed? Do aspects of it need to be concatenated or transformed in another manor?  How will you get it to Eloqua, API or data import via SFTP?


Eloqua Build, Testing and QA


Review the file for import and have a good understanding of what the data you are importing looks like.  Do you need text fields, large text fields or date fields? Prepare your CDO with the fields you have identified. Review the file and conduct an import.  Set up filters for the various scenarios you will be running and compare these counts to what you would expect to see if you were doing a manual list.  Are the counts close?  What are the differences?  Keep in mind any cleansing of the data you may have done and how this will affect counts.




Sage is bringing it’s North American data into a CDO with a CSV file via SFTP.  We started with complete data from the systems and then moved to a delta file of new and modified customers on a nightly basis. We realized an ROI on the project within 10 weeks of implementation.  We are saving over 2,000 man hours per year with this solution! Campaign managers are no longer going to data teams to request lists of current customers to provide to the marketing automation team to upload for campaigns.  They simply provide their criteria to the automation team who utilize pre-built filters to complete segments for campaigns in seconds by product line, plan status, primary contacts, cross sell opportunities, it is all right there at our fingertips!




Previous State

Current State

Data Teams

36 hours per week

2 hours per week

Marketing Automation Team

10 hours per week

1 hour per week


46 hours per week

3 hours per week



While our goal was to reduce the time and effort these ad hoc processes were having on the business, we realized additional benefits right away. Rather than constantly pulling customer lists from various systems, the data team has had their time freed up to focus on additional projects to benefit the business, such as propensity to buy modeling. Our targeting accuracy within campaigns has improved as well. We are now easily able to identify existing customers and can adjust the message for them vs. a prospect when pulling them into campaigns or choose to exclude them altogether if offers etc. do not apply, which is saving calls into our call centers. Accurate customer information has also improved our lead routing to sales teams. New customer acquisition teams are not making calls on existing customers and account managers are flagged when there is an activity with their accounts, as we are more easily recognizing other interests and increasing cross-sell opportunities.  Having access to the data is shifting how we approach campaigns and we are moving to automated lifecycle nurtures for our customers and have the confidence that we can build such programs and continue to get more complex as the data points to drive the programs are there.

Filter Blog

By date: By tag: