Connecting Oracle Eloqua to Turtl lets you see which of your Eloqua contacts read your Turtl Docs, and how deeply. This article covers what data moves between the two systems, which Eloqua permissions the connection needs, and what has to be in place for contacts to resolve correctly.
This is the integration with Oracle Eloqua, Oracle's marketing automation platform. Turtl does not integrate with Oracle Sales Cloud (CX Sales).
What the integration does
Once Eloqua is connected, Turtl identifies contacts in two ways.
Through form submissions. You can replace Turtl's native form with an Eloqua form embedded in a Turtl Doc. When a reader submits it, Turtl uses the resulting Eloqua identifier to look that person up.
Through Lead Capture URLs. A Lead Capture URL carries a contact's email address or Eloqua contact ID in the link, so someone clicking through from an Eloqua email is recognized before they do anything else.
Identified people appear as Known contacts on your Contact dashboard in Turtl, with their reads, read time, and sign-ups attached to them. Lead capture works without the integration, but those sessions stay anonymous in Turtl analytics.
Which way data flows
One way: Turtl reads from Eloqua.
Turtl does not write to Eloqua. It does not update contact records, create custom objects, add fields, or send reading activity back as events. Nothing you do in Turtl changes anything in your Eloqua instance.
If you want Turtl engagement data to reach a revenue CRM, that runs through Turtl's Salesforce or Microsoft Dynamics integrations rather than through Eloqua.
What Turtl reads from Eloqua
Turtl calls three Oracle Eloqua REST endpoints, all read only:
To find a contact by email address: GET /api/REST/1.0/data/contacts?search={email}
To read that contact's record: GET /api/REST/1.0/data/contact/{id}
To match an Eloqua form submission to a contact: GET /api/REST/2.0/data/visitors?search='externalId={guid}'
From the contact record, Turtl keeps the first name, last name, email address, and Eloqua contact ID. Nothing else is read or stored.
Requirements
An Eloqua user with API access. Turtl authenticates using HTTP Basic authentication against login.eloqua.com, with the same Company, Username, and Password you use to sign in to Eloqua.
The Company value is the Eloqua site identifier from that login screen. It is not your company's brand name.
The user account must have API access enabled in Eloqua. This is sometimes a separate setting or a paid addition, and it is the most common reason a correct-looking set of credentials is rejected. Many customers create a dedicated Eloqua user for the connection.
A CNAME for your Turtl tenant. Eloqua form submissions depend on Eloqua's own tracking cookie. If your Turtl Docs are served from a turtl.co address rather than a domain of your own, browsers treat that cookie as third party and block it. Turtl then receives an anonymous visitor identifier that Eloqua never links to the contact who submitted the form.
The symptom is recognizable: contacts show as "Unknown" with a blank email address, sign-ups are still recorded on the page, and the integration reports no error at all, because the lookup succeeded and genuinely found nobody.
Setting up a CNAME so your Turtl Docs are served from your own domain fixes this going forward. Contacts who read before the CNAME was in place cannot be recovered.
Not supported for Eloqua
Some Turtl features work with other CRMs but have no Eloqua equivalent:
Identifying returning contacts from a CRM tracking cookie already in the browser. Turtl can do this for HubSpot, Marketo, Pardot, and Microsoft Dynamics. Eloqua contacts are identified only through a form submission or a Lead Capture URL.
Writing reading activity into Eloqua as custom events or activities.
Loading Eloqua's tracking script on your Turtl Docs.
The "Reader Intent Data" and "Prove ROI with revenue data" panels in the Integrations Hub. These appear for other CRMs and do not appear for Eloqua.
