Our company is turning to account-based marketing as an alternative B2B strategy that concentrates sales and marketing resources on a clearly defined set of target accounts and we needed to be able to segment and market at the account level. However, Eloqua’s out of the box Account-based segmentation was too limited for our needs. We needed to extend it.


We needed to not only be able to segment on Contact and Account information, we needed to be able to filter by Opportunity, Opportunity Product or Partner Contract data at times. For example:

  • Segment for a campaign to CRM C-level contacts in Accounts who have a closed/lost opportunity
  • Segment for a campaign to CRM contacts in Accounts owned by John Smith with no open opportunities
  • Segment for a campaign to CRM Accounts who have active Partner Contracts


Use Custom Data Objects as a way to pull added data from our CRM (in this case Salesforce) into Eloqua in such a way that we can segment/filter for Account-based campaigns.

In essence, you can pull any table into an Eloqua CDO and map it to the Account table in Eloqua as long as that table has a CRM Account ID. (Opportunities, Partners, Cases, etc).

In our first use case, we chose to pull in the Opportunity table from our CRM with the following fields:

  • SFDC Account ID (18-char)
  • SFDC Opportunity ID
  • Opportunity Name
  • Opportunity Stage
  • Amount
  • Opportunity Owner
  • Opportunity Industry
  • Opportunity Region
  • Opportunity Create Date
  • Opportunity Close Date


To do this you need to:

    1. Create a CDO with the fields above. Be sure to set the Entity Type to Companies and Entity Field to your Account Table ID field. Set Opportunity ID as your unique field.


    1. Create an external call to pull data from your CRM. Settings/Integration/Inbound, Create Data Source with External Call.
      • Follow the wizard, being sure to set the external call type to Data Card and check to use for automatic execution.
      • Set the Filter Details to pull Opportunities where Last Modified date is >= Last Successful Upload.
      • Uniquely match on opportunity ID.
      • Map the data cards to Companies using your AccountIDs. In this way, you will be able to filter based on contacts in Accounts that match your criteria.




  1. Run the autosync. Your CDO should be populated with all of the Opportunities from your CRM that match your criteria.


Now you will be able to filter based off the CDO which is now tied to the Eloqua Account and mapped Contacts.



Segment Example:


Using this process, you can create CDOs for any table once removed from the Account table in your CRM – and filter on that data in Eloqua. Think of the possibilities for you within your environment.




  • Using this process, we were able to send more targeted emails and accommodate the account-based marketing requests from Sales.
  • We are now able to infer a variety of account types and market to them: customers, partners, recently expired customers, etc. We can also target based on Account (or team) ownership
  • We can now send cross-sell campaign messaging into Accounts who own one of our products but may be a good fit for others – targeting only the relevant titles and personalizing emails based on Account owner.


Courses that have helped:

  • B2B: Conversion
  • B2B: Profile and Target
  • B2B: Technology