Our native integration with Eloqua allows users to combine the power of the Drift Conversational Marketing Platform with the Eloqua Marketing Automation Platform in order to drive dynamic, personalized engagement.
Billing Plan: This integration is available on all paid Drift plans, starting with Premium. Eloqua CDO support is only available on our Advanced and Enterprise plans.
In this article, we'll cover:
The integration can send information from Drift to Eloqua, once a lead is qualified in Drift and the conversation is closed, the following will happen:
- A Contact record is created in Eloqua
- Any attributes specified in the mappings are sent over with the record
- You can also choose to have the chat transcript sent over as well
- Recognize your Eloqua contacts using the Eloqua Cookie
If there is already a contact in Eloqua associated with the email address captured by Drift, we'll update that record according to your configuration!
If you aren't seeing contacts being created in Eloqua, make sure that the conversation in Drift has been set to 'closed'.
1. The Eloqua integration can be found in the Integrations Settings within the Drift platform.
- Settings > Integrations
- Search for Eloqua!

2. When you first click into the Eloqua integration, you'll see a "Connect" button.

3. You'll be asked to authorize certain permission for Eloqua to access information in Drift.

4. You'll be asked to sign in with the email and password associated with your Eloqua account.

There are several verification steps asked by Eloqua. Make sure to go all the way through!
5. After these steps, you're ready to start both configuring and taking advantage of the integration!
Once your Drift and Eloqua accounts are connected, all you need to do is setup the Sync Settings and map the contact attributes you want to send over to Eloqua!

Synced Eloqua Data
In this section, simply check the box to have records sent from Drift to Eloqua.

This is where you can choose to send the conversation transcript along with any records Drift creates or updates.
You can also specify which Drift records are sent to Eloqua, by setting a required minimum CQL score for the sync.

Want to learn more about CQLs? Head here What's a CQL score in Drift?⚡️
Recognizing Eloqua Contacts In Drift
Drift can also read the Eloqua Cookie set and use it to identify your Eloqua Contacts when they chat in or engage with one of your Playbooks! Simply check the box "Identify Drift visitors with the Eloqua Cookie" to enable this.

When a lead gets identified by Drift and has an Eloqua cookie, we will create/update an Eloqua contact and associate it with the site visitor's cookie in Eloqua. This is essentially what happens when someone provides their email in an Eloqua form.
Automatically Setting a CQL Score and Closing the Conversation
You can set CQL Scores automatically within Goals and inline actions in the bot visual builder! You can set conversations to automatically close by configuring your Goals.

For more info on how to set CQLs automatically, check out this doc!
Manually Setting a CQL Score and Closing a Conversation
You can also manually set a CQL for any site visitor or contact by clicking the lightning bolts on the right side of the conversation view. Then click on the conversation status icon and change it to Closed.

Mapped Eloqua Attributes
Now that we're having Drift create the Lead records, let's make sure they come in with the right information!
Using Mapped Eloqua Attributes you can send the data that is gathered in Drift (either automatically or manually) directly into Eloqua, and make sure it is assigned to the right fields.

Simply identify the attribute in Drift and match it up with the attribute in Eloqua and make sure to select to ability to Allow Overwrite if you'd like to overwrite the field you have in Eloqua.
Mapped CDO Attributes
You can also sync what fields you want to configure to your Eloqua CDO and control how Drift writes data to Custom Data Objects.

You can map which fields you want to configure to your Eloqua CDO using the attribute pull downs.

Mapping the attributes is relatively intuitive, here are a few things to note:
- Match the correct type! String/Text values go to String/Text values, Dates go to Dates, etc.
- The Default Value column is the value Drift will send if the attribute is blank.
You can create new attributes on either side and these will show up in the dropdown selector.
When creating a new attribute in Eloqua, be sure to UNCHECK the "Restrict access to this field from Web Data Lookups" box in order for Drift to be able to map to it.
Take care to ensure that the field you create to map the Drift Transcript onto the CDO in Eloqua is a Large Text field as the normal Text field will be character limited to 250 characters.

Don't forget to click "Update" after adding new attribute mapping!
Please note that you can only map one CDO to Drift!
Event Logs
Event Logs are a handy tool you can use to see any errors that may come up, or to ensure a successful sync. You can find the Eloqua Event Logs here, or on the main Eloqua Integration page in Drift.
Here you can see:
- When Drift successfully creates an Eloqua contact.
- When Drift successfully updates an Eloqua contact.
- What error message we receive from Eloqua if we failed to create or update a contact.

1) Where does the transcript go when it syncs to Eloqua?
When syncing transcripts to Eloqua, the transcript is pushed to the `New Drift Conversation` CDO which is automatically created by the integration when the conversation is closed.


2) What fields can I sync from Drift to the CDO?
The Eloqua Custom Data Object is a powerful tool to keep track of individual Drift Conversations, where each new CDO created by Drift represents a new visitor conversation and can contain a variety of details about that lead for tracking and attribution purposes.
At a basic level, we recommend mapping the following information from Drift to the Eloqua CDO:
Visitor Email, First Name, and Last Name to identify the lead properly.
Other data such as country, company name, phone number might already be in Eloqua and associated with the lead, so many customers opt not to include these details with every CDO. If you plan to use the CDO to update CRM or initiate more advanced workflows, you can include any/all contact data you wish.
In addition to contact attributes, Drift can share a variety of attributes about the conversation itself.
Examples include:
Conversation Id
Conversation Transcript
Conversation URL
Conversation-Started-URL (where the chat was initiated on your site)
Lead Owner
Lead Stage
CQL Score (Numeric)
CQL Source (Indicates if applied by bot or human)
These unique attributes show the incremental impact of Drift on the customer experience, and show the outcome of the conversation both with the transcript and through our CQL scoring system; this allows for proper escalation to CRM or can provide a meaningful trigger for subsequent nurturing programs. We can also pass the email of the Drift User, or "Lead Owner" who was routed into chat or who the meeting was booked with, so your team's involvement with this visitor in chat can be preserved and reflected in external systems.
As a highly advanced implementation, certain Enterprise customers chose to leverage the Eloqua CDO to sync custom Contact Attributes from Drift which are set through our playbook flows, either based on button-click responses or free-text entry. Data types include text, numeric, boolean, and datetime, more information on creating custom contact attributes within Drift can be found here.
Examples include:
Product interest category
Consent to receive marketing communications
Estimated budget
Purchasing timeline, e.g. "how soon?"
Preferred language
Preferred currency
Some customers also use the CDO to pass metadata captured in the browser either from their website itself or third party tools used for experience management and performance tracking. Our developer documents have more insights on how to pass data from the browser programmatically into Drift on page load. For any custom contact attribute you can create and populate within Drift, the Eloqua CDO can be a place to sync that information about the visitor's session.
Examples include:
Google Tag Manager data layer variables used for segmentation or experience design
Product-Interest cookies or metadata
Custom URL params, e.g. gclid or UTMs
Locale or language preference
Cookie-compliance consent status, e.g. True/False
CDP Tracking Cookies, e.g. Tealium or Segment identity for back-end data consolidation
Why do I keep seeing an access token error?
Your event log may show the error: "Eloqua error:{"error":{"message":"The access token is invalid or has expired","type":"authentication_error"}}" If this error message is seen once or twice it is not cause for concern as it means authentication failed to sync data and will be re-attempted. If you are seeing this error frequently you will want to simply reconnect and disconnect the Eloqua integration. If that doesn't work you will want to renew the access token.
You can obtain a fresh access token based on your authentication method (like OAuth or API key) and ensure your integration uses the correct, un-revoked token. You can also consult Eloqua's API documentation for the latest authentication guidance.
If you have any questions don't hesitate to chat in!