Eloqua integration summary

Stitch’s Eloqua integration replicates data using the Oracle Eloqua Marketing Cloud Service REST API and Eloqua bulk export API. Refer to the Replication section for a list of objects and the API Stitch uses to extract data from them.

Refer to the Schema section for a list of objects available for replication.

Eloqua feature snapshot

A high-level look at Stitch's Eloqua (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on April 26, 2019

Supported by

Singer Community

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-eloqua

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Supported

Select all

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Eloqua

Step 1: Add Eloqua as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Eloqua icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Eloqua” would create a schema called stitch_eloqua in the destination. Note: Schema names cannot be changed after you save the integration.

Step 2: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your Eloqua integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Eloqua’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 3: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Eloqua integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 4: Authorize Stitch to access Eloqua

  1. Next, you’ll be prompted to sign into your Eloqua account. Click Sign In to sign in.
  2. Enter your Eloqua credentials and click Sign In again.
  3. The next page will display the application (Stitch) requesting access to Eloqua. Click Sign In to continue.
  4. The next page will display the company and user you are currently logged into Eloqua as. Click Accept.
  5. After the authorization process is successfully completed, you’ll be directed back to Stitch.
  6. Click All Done.

Step 5: Set objects to replicate

The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.

Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.

For Eloqua integrations, you can select:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. Click the Finalize Your Selections button at the bottom of the page to save your data selections.

Initial and historical replication jobs

After you finish setting up Eloqua, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Eloqua replication

In this section:

Tables using the Eloqua Bulk API

Stitch uses the Eloqua Bulk API to replicate data for the following tables:

Tables using the Eloqua REST API

Stitch uses the Eloqua Application REST API to replicate data for the following tables:

Custom objects and fields

Stitch’s Eloqua integration supports replicating custom fields and objects.

For each custom object in your Eloqua account, Stitch will display a table as available for selection. The name of the table will be the normalized name of the object, using snake case (spaces replaced with underscores) and removing special characters. For example: If your account contains an Enrichement Attributes custom object, there will be a corresponding enrichment_attributes available for selection in Stitch.


Eloqua table reference

accounts

The accounts table contains info about the accounts, or companies, in your Eloqua account.

Note: This table is replicated using the Eloqua Bulk API.

Custom accounts fields

If applicable, Stitch will replicate custom fields related to accounts in Eloqua.

Replication Method

Key-based Incremental

Primary Key

Id

Replication Key

UpdatedAt

Useful links

Eloqua API method

CompanyIDExt

STRING

CreatedAt

DATE-TIME

Custom Fields

VARIES

Id

STRING

UpdatedAt

DATE-TIME

activity_bounceback

The activity_bounceback table contains info about Bounceback contact activities.

Note: This table is replicated using the Eloqua Bulk API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

Eloqua API method

Join activity_bounceback with on
assets
activity_bounceback.AssetId = assets.id
activity_email_clickthrough
activity_bounceback.AssetId = activity_email_clickthrough.AssetId
activity_bounceback.CampaignId = activity_email_clickthrough.CampaignId
activity_bounceback.ContactId = activity_email_clickthrough.ContactId
activity_email_open
activity_bounceback.AssetId = activity_email_open.AssetId
activity_bounceback.CampaignId = activity_email_open.CampaignId
activity_bounceback.ContactId = activity_email_open.ContactId
activity_email_send
activity_bounceback.AssetId = activity_email_send.AssetId
activity_bounceback.CampaignId = activity_email_send.CampaignId
activity_bounceback.ContactId = activity_email_send.ContactId
activity_form_submit
activity_bounceback.AssetId = activity_form_submit.AssetId
activity_bounceback.CampaignId = activity_form_submit.CampaignId
activity_bounceback.ContactId = activity_form_submit.ContactId
activity_page_view
activity_bounceback.AssetId = activity_page_view.AssetId
activity_bounceback.CampaignId = activity_page_view.CampaignId
activity_bounceback.ContactId = activity_page_view.ContactId
activity_subscribe
activity_bounceback.AssetId = activity_subscribe.AssetId
activity_bounceback.CampaignId = activity_subscribe.CampaignId
activity_bounceback.ContactId = activity_subscribe.ContactId
activity_unsubscribe
activity_bounceback.AssetId = activity_unsubscribe.AssetId
activity_bounceback.CampaignId = activity_unsubscribe.CampaignId
activity_bounceback.ContactId = activity_unsubscribe.ContactId
activity_web_visit
activity_bounceback.AssetId = activity_web_visit.AssetId
campaigns
activity_bounceback.CampaignId = campaigns.id
forms
activity_bounceback.CampaignId = forms.processingSteps.campaignId
contacts
activity_bounceback.ContactId = contacts.Id
visitors
activity_bounceback.ContactId = visitors.contactId

ActivityDate

DATE-TIME

ActivityId

STRING

ActivityType

STRING

AssetId

STRING

AssetName

STRING

AssetType

STRING

CampaignId

INTEGER

ContactId

STRING

DeploymentId

STRING

EmailAddress

STRING

EmailRecipientId

STRING

ExternalId

STRING

SmtpErrorCode

STRING

SmtpStatusCode

STRING

Type

STRING

id

STRING

updatedAt

DATE-TIME

activity_email_clickthrough

The activity_email_clickthrough table contains info about EmailClickthrough contact activities.

Note: This table is replicated using the Eloqua Bulk API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

Eloqua API method

Join activity_email_clickthrough with on
assets
activity_email_clickthrough.AssetId = assets.id
activity_bounceback
activity_email_clickthrough.AssetId = activity_bounceback.AssetId
activity_email_clickthrough.CampaignId = activity_bounceback.CampaignId
activity_email_clickthrough.ContactId = activity_bounceback.ContactId
activity_email_open
activity_email_clickthrough.AssetId = activity_email_open.AssetId
activity_email_clickthrough.CampaignId = activity_email_open.CampaignId
activity_email_clickthrough.ContactId = activity_email_open.ContactId
activity_email_clickthrough.VisitorId = activity_email_open.VisitorId
activity_email_send
activity_email_clickthrough.AssetId = activity_email_send.AssetId
activity_email_clickthrough.CampaignId = activity_email_send.CampaignId
activity_email_clickthrough.ContactId = activity_email_send.ContactId
activity_form_submit
activity_email_clickthrough.AssetId = activity_form_submit.AssetId
activity_email_clickthrough.CampaignId = activity_form_submit.CampaignId
activity_email_clickthrough.ContactId = activity_form_submit.ContactId
activity_email_clickthrough.VisitorId = activity_form_submit.VisitorId
activity_page_view
activity_email_clickthrough.AssetId = activity_page_view.AssetId
activity_email_clickthrough.CampaignId = activity_page_view.CampaignId
activity_email_clickthrough.ContactId = activity_page_view.ContactId
activity_email_clickthrough.VisitorId = activity_page_view.VisitorId
activity_subscribe
activity_email_clickthrough.AssetId = activity_subscribe.AssetId
activity_email_clickthrough.CampaignId = activity_subscribe.CampaignId
activity_email_clickthrough.ContactId = activity_subscribe.ContactId
activity_unsubscribe
activity_email_clickthrough.AssetId = activity_unsubscribe.AssetId
activity_email_clickthrough.CampaignId = activity_unsubscribe.CampaignId
activity_email_clickthrough.ContactId = activity_unsubscribe.ContactId
activity_web_visit
activity_email_clickthrough.AssetId = activity_web_visit.AssetId
campaigns
activity_email_clickthrough.CampaignId = campaigns.id
forms
activity_email_clickthrough.CampaignId = forms.processingSteps.campaignId
contacts
activity_email_clickthrough.ContactId = contacts.Id
visitors
activity_email_clickthrough.ContactId = visitors.contactId
activity_email_clickthrough.VisitorId = visitors.id

ActivityDate

DATE-TIME

ActivityId

STRING

ActivityType

STRING

AssetId

STRING

AssetName

STRING

AssetType

STRING

CampaignId

INTEGER

ContactId

STRING

DeploymentId

STRING

EmailAddress

STRING

EmailClickedThruLink

STRING

EmailRecipientId

STRING

EmailSendType

STRING

EmailWebLink

STRING

ExternalId

STRING

IpAddress

STRING

SubjectLine

STRING

Type

STRING

VisitorExternalId

STRING

VisitorId

STRING

id

STRING

updatedAt

DATE-TIME

activity_email_open

The activity_email_open table contains info about EmailOpen contact activities.

Note: This table is replicated using the Eloqua Bulk API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

Eloqua API method

Join activity_email_open with on
assets
activity_email_open.AssetId = assets.id
activity_bounceback
activity_email_open.AssetId = activity_bounceback.AssetId
activity_email_open.CampaignId = activity_bounceback.CampaignId
activity_email_open.ContactId = activity_bounceback.ContactId
activity_email_clickthrough
activity_email_open.AssetId = activity_email_clickthrough.AssetId
activity_email_open.CampaignId = activity_email_clickthrough.CampaignId
activity_email_open.ContactId = activity_email_clickthrough.ContactId
activity_email_open.VisitorId = activity_email_clickthrough.VisitorId
activity_email_send
activity_email_open.AssetId = activity_email_send.AssetId
activity_email_open.CampaignId = activity_email_send.CampaignId
activity_email_open.ContactId = activity_email_send.ContactId
activity_form_submit
activity_email_open.AssetId = activity_form_submit.AssetId
activity_email_open.CampaignId = activity_form_submit.CampaignId
activity_email_open.ContactId = activity_form_submit.ContactId
activity_email_open.VisitorId = activity_form_submit.VisitorId
activity_page_view
activity_email_open.AssetId = activity_page_view.AssetId
activity_email_open.CampaignId = activity_page_view.CampaignId
activity_email_open.ContactId = activity_page_view.ContactId
activity_email_open.VisitorId = activity_page_view.VisitorId
activity_subscribe
activity_email_open.AssetId = activity_subscribe.AssetId
activity_email_open.CampaignId = activity_subscribe.CampaignId
activity_email_open.ContactId = activity_subscribe.ContactId
activity_unsubscribe
activity_email_open.AssetId = activity_unsubscribe.AssetId
activity_email_open.CampaignId = activity_unsubscribe.CampaignId
activity_email_open.ContactId = activity_unsubscribe.ContactId
activity_web_visit
activity_email_open.AssetId = activity_web_visit.AssetId
campaigns
activity_email_open.CampaignId = campaigns.id
forms
activity_email_open.CampaignId = forms.processingSteps.campaignId
contacts
activity_email_open.ContactId = contacts.Id
visitors
activity_email_open.ContactId = visitors.contactId
activity_email_open.VisitorId = visitors.id

ActivityDate

DATE-TIME

ActivityType

STRING

AssetId

STRING

AssetName

STRING

AssetType

STRING

CampaignId

INTEGER

ContactId

STRING

DeploymentId

STRING

EmailAddress

STRING

EmailRecipientId

STRING

EmailWebLink

STRING

ExternalId

STRING

IpAddress

STRING

Type

STRING

VisitorExternalId

STRING

VisitorId

STRING

id

STRING

updatedAt

DATE-TIME

activity_email_send

The activity_email_send table contains info about EmailSend contact activities.

Note: This table is replicated using the Eloqua Bulk API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

Eloqua API method

Join activity_email_send with on
assets
activity_email_send.AssetId = assets.id
activity_bounceback
activity_email_send.AssetId = activity_bounceback.AssetId
activity_email_send.CampaignId = activity_bounceback.CampaignId
activity_email_send.ContactId = activity_bounceback.ContactId
activity_email_clickthrough
activity_email_send.AssetId = activity_email_clickthrough.AssetId
activity_email_send.CampaignId = activity_email_clickthrough.CampaignId
activity_email_send.ContactId = activity_email_clickthrough.ContactId
activity_email_open
activity_email_send.AssetId = activity_email_open.AssetId
activity_email_send.CampaignId = activity_email_open.CampaignId
activity_email_send.ContactId = activity_email_open.ContactId
activity_form_submit
activity_email_send.AssetId = activity_form_submit.AssetId
activity_email_send.CampaignId = activity_form_submit.CampaignId
activity_email_send.ContactId = activity_form_submit.ContactId
activity_page_view
activity_email_send.AssetId = activity_page_view.AssetId
activity_email_send.CampaignId = activity_page_view.CampaignId
activity_email_send.ContactId = activity_page_view.ContactId
activity_subscribe
activity_email_send.AssetId = activity_subscribe.AssetId
activity_email_send.CampaignId = activity_subscribe.CampaignId
activity_email_send.ContactId = activity_subscribe.ContactId
activity_unsubscribe
activity_email_send.AssetId = activity_unsubscribe.AssetId
activity_email_send.CampaignId = activity_unsubscribe.CampaignId
activity_email_send.ContactId = activity_unsubscribe.ContactId
activity_web_visit
activity_email_send.AssetId = activity_web_visit.AssetId
campaigns
activity_email_send.CampaignId = campaigns.id
forms
activity_email_send.CampaignId = forms.processingSteps.campaignId
contacts
activity_email_send.ContactId = contacts.Id
visitors
activity_email_send.ContactId = visitors.contactId

ActivityDate

DATE-TIME

ActivityId

STRING

ActivityType

STRING

AssetId

STRING

AssetName

STRING

AssetType

STRING

CampaignId

INTEGER

ContactId

STRING

DeploymentId

STRING

EmailAddress

STRING

EmailRecipientId

STRING

EmailSendType

STRING

EmailWebLink

STRING

ExternalId

STRING

SubjectLine

STRING

Type

STRING

id

STRING

updatedAt

DATE-TIME

activity_form_submit

The activity_form_submit table contains info about FormSubmit contact activities.

Note: This table is replicated using the Eloqua Bulk API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

Eloqua API method

Join activity_form_submit with on
assets
activity_form_submit.AssetId = assets.id
activity_bounceback
activity_form_submit.AssetId = activity_bounceback.AssetId
activity_form_submit.CampaignId = activity_bounceback.CampaignId
activity_form_submit.ContactId = activity_bounceback.ContactId
activity_email_clickthrough
activity_form_submit.AssetId = activity_email_clickthrough.AssetId
activity_form_submit.CampaignId = activity_email_clickthrough.CampaignId
activity_form_submit.ContactId = activity_email_clickthrough.ContactId
activity_form_submit.VisitorId = activity_email_clickthrough.VisitorId
activity_email_open
activity_form_submit.AssetId = activity_email_open.AssetId
activity_form_submit.CampaignId = activity_email_open.CampaignId
activity_form_submit.ContactId = activity_email_open.ContactId
activity_form_submit.VisitorId = activity_email_open.VisitorId
activity_email_send
activity_form_submit.AssetId = activity_email_send.AssetId
activity_form_submit.CampaignId = activity_email_send.CampaignId
activity_form_submit.ContactId = activity_email_send.ContactId
activity_page_view
activity_form_submit.AssetId = activity_page_view.AssetId
activity_form_submit.CampaignId = activity_page_view.CampaignId
activity_form_submit.ContactId = activity_page_view.ContactId
activity_form_submit.VisitorId = activity_page_view.VisitorId
activity_subscribe
activity_form_submit.AssetId = activity_subscribe.AssetId
activity_form_submit.CampaignId = activity_subscribe.CampaignId
activity_form_submit.ContactId = activity_subscribe.ContactId
activity_unsubscribe
activity_form_submit.AssetId = activity_unsubscribe.AssetId
activity_form_submit.CampaignId = activity_unsubscribe.CampaignId
activity_form_submit.ContactId = activity_unsubscribe.ContactId
activity_web_visit
activity_form_submit.AssetId = activity_web_visit.AssetId
campaigns
activity_form_submit.CampaignId = campaigns.id
forms
activity_form_submit.CampaignId = forms.processingSteps.campaignId
contacts
activity_form_submit.ContactId = contacts.Id
visitors
activity_form_submit.ContactId = visitors.contactId
activity_form_submit.VisitorId = visitors.id

ActivityDate

DATE-TIME

ActivityType

STRING

AssetId

STRING

AssetName

STRING

AssetType

STRING

CampaignId

INTEGER

ContactId

STRING

ExternalId

STRING

RawData

STRING

Type

STRING

VisitorExternalId

STRING

VisitorId

STRING

id

STRING

updatedAt

DATE-TIME

activity_page_view

The activity_page_view table contains info about PageView contact activities.

Note: This table is replicated using the Eloqua Bulk API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

Eloqua API method

Join activity_page_view with on
assets
activity_page_view.AssetId = assets.id
activity_bounceback
activity_page_view.AssetId = activity_bounceback.AssetId
activity_page_view.CampaignId = activity_bounceback.CampaignId
activity_page_view.ContactId = activity_bounceback.ContactId
activity_email_clickthrough
activity_page_view.AssetId = activity_email_clickthrough.AssetId
activity_page_view.CampaignId = activity_email_clickthrough.CampaignId
activity_page_view.ContactId = activity_email_clickthrough.ContactId
activity_page_view.VisitorId = activity_email_clickthrough.VisitorId
activity_email_open
activity_page_view.AssetId = activity_email_open.AssetId
activity_page_view.CampaignId = activity_email_open.CampaignId
activity_page_view.ContactId = activity_email_open.ContactId
activity_page_view.VisitorId = activity_email_open.VisitorId
activity_email_send
activity_page_view.AssetId = activity_email_send.AssetId
activity_page_view.CampaignId = activity_email_send.CampaignId
activity_page_view.ContactId = activity_email_send.ContactId
activity_form_submit
activity_page_view.AssetId = activity_form_submit.AssetId
activity_page_view.CampaignId = activity_form_submit.CampaignId
activity_page_view.ContactId = activity_form_submit.ContactId
activity_page_view.VisitorId = activity_form_submit.VisitorId
activity_subscribe
activity_page_view.AssetId = activity_subscribe.AssetId
activity_page_view.CampaignId = activity_subscribe.CampaignId
activity_page_view.ContactId = activity_subscribe.ContactId
activity_unsubscribe
activity_page_view.AssetId = activity_unsubscribe.AssetId
activity_page_view.CampaignId = activity_unsubscribe.CampaignId
activity_page_view.ContactId = activity_unsubscribe.ContactId
activity_web_visit
activity_page_view.AssetId = activity_web_visit.AssetId
campaigns
activity_page_view.CampaignId = campaigns.id
forms
activity_page_view.CampaignId = forms.processingSteps.campaignId
contacts
activity_page_view.ContactId = contacts.Id
visitors
activity_page_view.ContactId = visitors.contactId
activity_page_view.VisitorId = visitors.id

ActivityDate

DATE-TIME

ActivityId

STRING

ActivityType

STRING

AssetId

STRING

AssetName

STRING

AssetType

STRING

CampaignId

INTEGER

ContactId

STRING

ExternalId

STRING

IpAddress

STRING

Type

STRING

Url

STRING

VisitorExternalId

STRING

VisitorId

STRING

WebVisitId

STRING

id

STRING

updatedAt

DATE-TIME

activity_subscribe

The activity_subscribe table contains info about Subscribe contact activities.

Note: This table is replicated using the Eloqua Bulk API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

Eloqua API method

Join activity_subscribe with on
assets
activity_subscribe.AssetId = assets.id
activity_bounceback
activity_subscribe.AssetId = activity_bounceback.AssetId
activity_subscribe.CampaignId = activity_bounceback.CampaignId
activity_subscribe.ContactId = activity_bounceback.ContactId
activity_email_clickthrough
activity_subscribe.AssetId = activity_email_clickthrough.AssetId
activity_subscribe.CampaignId = activity_email_clickthrough.CampaignId
activity_subscribe.ContactId = activity_email_clickthrough.ContactId
activity_email_open
activity_subscribe.AssetId = activity_email_open.AssetId
activity_subscribe.CampaignId = activity_email_open.CampaignId
activity_subscribe.ContactId = activity_email_open.ContactId
activity_email_send
activity_subscribe.AssetId = activity_email_send.AssetId
activity_subscribe.CampaignId = activity_email_send.CampaignId
activity_subscribe.ContactId = activity_email_send.ContactId
activity_form_submit
activity_subscribe.AssetId = activity_form_submit.AssetId
activity_subscribe.CampaignId = activity_form_submit.CampaignId
activity_subscribe.ContactId = activity_form_submit.ContactId
activity_page_view
activity_subscribe.AssetId = activity_page_view.AssetId
activity_subscribe.CampaignId = activity_page_view.CampaignId
activity_subscribe.ContactId = activity_page_view.ContactId
activity_unsubscribe
activity_subscribe.AssetId = activity_unsubscribe.AssetId
activity_subscribe.CampaignId = activity_unsubscribe.CampaignId
activity_subscribe.ContactId = activity_unsubscribe.ContactId
activity_web_visit
activity_subscribe.AssetId = activity_web_visit.AssetId
campaigns
activity_subscribe.CampaignId = campaigns.id
forms
activity_subscribe.CampaignId = forms.processingSteps.campaignId
contacts
activity_subscribe.ContactId = contacts.Id
visitors
activity_subscribe.ContactId = visitors.contactId

ActivityDate

DATE-TIME

ActivityId

STRING

ActivityType

STRING

AssetId

STRING

AssetName

STRING

AssetType

STRING

CampaignId

INTEGER

ContactId

STRING

EmailAddress

STRING

EmailRecipientId

STRING

ExternalId

STRING

Type

STRING

id

STRING

updatedAt

DATE-TIME

activity_unsubscribe

The activity_unsubscribe table contains info about Unsubscribe contact activities.

Note: This table is replicated using the Eloqua Bulk API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

Eloqua API method

Join activity_unsubscribe with on
assets
activity_unsubscribe.AssetId = assets.id
activity_bounceback
activity_unsubscribe.AssetId = activity_bounceback.AssetId
activity_unsubscribe.CampaignId = activity_bounceback.CampaignId
activity_unsubscribe.ContactId = activity_bounceback.ContactId
activity_email_clickthrough
activity_unsubscribe.AssetId = activity_email_clickthrough.AssetId
activity_unsubscribe.CampaignId = activity_email_clickthrough.CampaignId
activity_unsubscribe.ContactId = activity_email_clickthrough.ContactId
activity_email_open
activity_unsubscribe.AssetId = activity_email_open.AssetId
activity_unsubscribe.CampaignId = activity_email_open.CampaignId
activity_unsubscribe.ContactId = activity_email_open.ContactId
activity_email_send
activity_unsubscribe.AssetId = activity_email_send.AssetId
activity_unsubscribe.CampaignId = activity_email_send.CampaignId
activity_unsubscribe.ContactId = activity_email_send.ContactId
activity_form_submit
activity_unsubscribe.AssetId = activity_form_submit.AssetId
activity_unsubscribe.CampaignId = activity_form_submit.CampaignId
activity_unsubscribe.ContactId = activity_form_submit.ContactId
activity_page_view
activity_unsubscribe.AssetId = activity_page_view.AssetId
activity_unsubscribe.CampaignId = activity_page_view.CampaignId
activity_unsubscribe.ContactId = activity_page_view.ContactId
activity_subscribe
activity_unsubscribe.AssetId = activity_subscribe.AssetId
activity_unsubscribe.CampaignId = activity_subscribe.CampaignId
activity_unsubscribe.ContactId = activity_subscribe.ContactId
activity_web_visit
activity_unsubscribe.AssetId = activity_web_visit.AssetId
campaigns
activity_unsubscribe.CampaignId = campaigns.id
forms
activity_unsubscribe.CampaignId = forms.processingSteps.campaignId
contacts
activity_unsubscribe.ContactId = contacts.Id
visitors
activity_unsubscribe.ContactId = visitors.contactId

ActivityDate

DATE-TIME

ActivityId

STRING

ActivityType

STRING

AssetId

STRING

AssetName

STRING

AssetType

STRING

CampaignId

INTEGER

ContactId

STRING

EmailAddress

STRING

EmailRecipientId

STRING

ExternalId

STRING

Type

STRING

id

STRING

updatedAt

DATE-TIME

activity_web_visit

The activity_web_visit table contains info about WebVisit contact activities.

Note: This table is replicated using the Eloqua Bulk API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

Eloqua API method

Join activity_web_visit with on
assets
activity_web_visit.AssetId = assets.id
activity_bounceback
activity_web_visit.AssetId = activity_bounceback.AssetId
activity_email_clickthrough
activity_web_visit.AssetId = activity_email_clickthrough.AssetId
activity_email_open
activity_web_visit.AssetId = activity_email_open.AssetId
activity_email_send
activity_web_visit.AssetId = activity_email_send.AssetId
activity_form_submit
activity_web_visit.AssetId = activity_form_submit.AssetId
activity_page_view
activity_web_visit.AssetId = activity_page_view.AssetId
activity_subscribe
activity_web_visit.AssetId = activity_subscribe.AssetId
activity_unsubscribe
activity_web_visit.AssetId = activity_unsubscribe.AssetId

ActivityDate

DATE-TIME

ActivityType

STRING

AssetId

STRING

AssetType

STRING

ContactId

STRING

Type

STRING

id

STRING

updatedAt

DATE-TIME

assets

The assets table contains info about the external assets associated with your Eloqua account. External assets are non-Eloqua, or offline, activities performed by your contacts or prospects.

Note: This table is replicated using the Eloqua Application REST API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

assets schema on GitHub

Eloqua API method

Join assets with on
activity_bounceback
assets.id = activity_bounceback.AssetId
activity_email_clickthrough
assets.id = activity_email_clickthrough.AssetId
activity_email_open
assets.id = activity_email_open.AssetId
activity_email_send
assets.id = activity_email_send.AssetId
activity_form_submit
assets.id = activity_form_submit.AssetId
activity_page_view
assets.id = activity_page_view.AssetId
activity_subscribe
assets.id = activity_subscribe.AssetId
activity_unsubscribe
assets.id = activity_unsubscribe.AssetId
activity_web_visit
assets.id = activity_web_visit.AssetId
campaigns
assets.folderId = campaigns.folderId
assets.createdBy = campaigns.createdBy
assets.updatedBy = campaigns.createdBy
assets.createdBy = campaigns.updatedBy
assets.updatedBy = campaigns.updatedBy
assets.createdBy = campaigns.runAsUserId
assets.updatedBy = campaigns.runAsUserId
emails
assets.folderId = emails.dynamicContents.folderId
assets.folderId = emails.hyperlinks.folderId
assets.folderId = emails.images.folderId
assets.createdBy = emails.createdBy
assets.updatedBy = emails.createdBy
assets.createdBy = emails.dynamicContents.createdBy
assets.updatedBy = emails.dynamicContents.createdBy
assets.createdBy = emails.dynamicContents.updatedBy
assets.updatedBy = emails.dynamicContents.updatedBy
assets.createdBy = emails.fieldMerges.createdBy
assets.updatedBy = emails.fieldMerges.createdBy
assets.createdBy = emails.fieldMerges.updatedBy
assets.updatedBy = emails.fieldMerges.updatedBy
assets.createdBy = emails.hyperlinks.createdBy
assets.updatedBy = emails.hyperlinks.createdBy
assets.createdBy = emails.hyperlinks.updatedBy
assets.updatedBy = emails.hyperlinks.updatedBy
assets.createdBy = emails.images.createdBy
assets.updatedBy = emails.images.createdBy
assets.createdBy = emails.images.updatedBy
assets.updatedBy = emails.images.updatedBy
assets.createdBy = emails.updatedBy
assets.updatedBy = emails.updatedBy
forms
assets.folderId = forms.folderId

accessedAt

DATE-TIME

createdAt

DATE-TIME

createdBy

STRING

currentStatus

STRING

depth

STRING

description

STRING

externalAssetTypeId

STRING

folderId

STRING

id

STRING

name

STRING

permissions

ARRAY

scheduledFor

STRING

sourceTemplateId

STRING

type

STRING

updatedAt

DATE-TIME

updatedBy

STRING

campaigns

The campaigns table contains info about the campaigns in your Eloqua account. Campaigns are comprised of different elements (such as segments, emails, landing pages, etc.) that are used to perform a variety of functions.

Note: This table is replicated using the Eloqua Application REST API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

campaigns schema on GitHub

Eloqua API method

Join campaigns with on
activity_bounceback
campaigns.id = activity_bounceback.CampaignId
activity_email_clickthrough
campaigns.id = activity_email_clickthrough.CampaignId
activity_email_open
campaigns.id = activity_email_open.CampaignId
activity_email_send
campaigns.id = activity_email_send.CampaignId
activity_form_submit
campaigns.id = activity_form_submit.CampaignId
activity_page_view
campaigns.id = activity_page_view.CampaignId
activity_subscribe
campaigns.id = activity_subscribe.CampaignId
activity_unsubscribe
campaigns.id = activity_unsubscribe.CampaignId
forms
campaigns.id = forms.processingSteps.campaignId
campaigns.folderId = forms.folderId
assets
campaigns.folderId = assets.folderId
campaigns.createdBy = assets.createdBy
campaigns.updatedBy = assets.createdBy
campaigns.runAsUserId = assets.createdBy
campaigns.createdBy = assets.updatedBy
campaigns.updatedBy = assets.updatedBy
campaigns.runAsUserId = assets.updatedBy
emails
campaigns.folderId = emails.dynamicContents.folderId
campaigns.folderId = emails.hyperlinks.folderId
campaigns.folderId = emails.images.folderId
campaigns.createdBy = emails.createdBy
campaigns.updatedBy = emails.createdBy
campaigns.runAsUserId = emails.createdBy
campaigns.createdBy = emails.dynamicContents.createdBy
campaigns.updatedBy = emails.dynamicContents.createdBy
campaigns.runAsUserId = emails.dynamicContents.createdBy
campaigns.createdBy = emails.dynamicContents.updatedBy
campaigns.updatedBy = emails.dynamicContents.updatedBy
campaigns.runAsUserId = emails.dynamicContents.updatedBy
campaigns.createdBy = emails.fieldMerges.createdBy
campaigns.updatedBy = emails.fieldMerges.createdBy
campaigns.runAsUserId = emails.fieldMerges.createdBy
campaigns.createdBy = emails.fieldMerges.updatedBy
campaigns.updatedBy = emails.fieldMerges.updatedBy
campaigns.runAsUserId = emails.fieldMerges.updatedBy
campaigns.createdBy = emails.hyperlinks.createdBy
campaigns.updatedBy = emails.hyperlinks.createdBy
campaigns.runAsUserId = emails.hyperlinks.createdBy
campaigns.createdBy = emails.hyperlinks.updatedBy
campaigns.updatedBy = emails.hyperlinks.updatedBy
campaigns.runAsUserId = emails.hyperlinks.updatedBy
campaigns.createdBy = emails.images.createdBy
campaigns.updatedBy = emails.images.createdBy
campaigns.runAsUserId = emails.images.createdBy
campaigns.createdBy = emails.images.updatedBy
campaigns.updatedBy = emails.images.updatedBy
campaigns.runAsUserId = emails.images.updatedBy
campaigns.createdBy = emails.updatedBy
campaigns.updatedBy = emails.updatedBy
campaigns.runAsUserId = emails.updatedBy

accessedAt

DATE-TIME

actualCost

STRING

badgeId

STRING

budgetedCost

STRING

campaignCategory

STRING

campaignType

STRING

clrEndDate

DATE-TIME

createdAt

DATE-TIME

createdBy

STRING

crmId

STRING

currentStatus

STRING

depth

STRING

description

STRING

elements

ARRAY

endAt

DATE-TIME

fieldValues

ARRAY

firstActivation

DATE-TIME

folderId

STRING

id

STRING

isEmailMarketingCampaign

STRING

isIncludedInROI

STRING

isMemberAllowedReEntry

STRING

isReadOnly

STRING

isSyncedWithCRM

STRING

memberCount

STRING

name

STRING

permissions

ARRAY

product

STRING

region

STRING

runAsUserId

STRING

scheduledFor

DATE-TIME

sourceTemplateId

STRING

startAt

DATE-TIME

type

STRING

updatedAt

DATE-TIME

updatedBy

STRING

contacts

The contacts table contains info the contacts in your Eloqua account.

Note: This table is replicated using the Eloqua Bulk API.

Custom contacts fields

If applicable, Stitch will replicate custom fields related to contacts in Eloqua.

Replication Method

Key-based Incremental

Primary Key

Id

Replication Key

UpdatedAt

Useful links

Eloqua API method

Join contacts with on
activity_bounceback
contacts.Id = activity_bounceback.ContactId
activity_email_clickthrough
contacts.Id = activity_email_clickthrough.ContactId
activity_email_open
contacts.Id = activity_email_open.ContactId
activity_email_send
contacts.Id = activity_email_send.ContactId
activity_form_submit
contacts.Id = activity_form_submit.ContactId
activity_page_view
contacts.Id = activity_page_view.ContactId
activity_subscribe
contacts.Id = activity_subscribe.ContactId
activity_unsubscribe
contacts.Id = activity_unsubscribe.ContactId
visitors
contacts.Id = visitors.contactId

AccountName

STRING

ContactIDExt

STRING

CreatedAt

DATE-TIME

Custom Fields

VARIES

EmailFormat

STRING

Id

STRING

IsBounceBack

STRING

IsSubscribed

STRING

UpdatedAt

DATE-TIME

custom_objects

For each custom object in your Eloqua account, Stitch will display a table as available for selection. The name of the table will be the normalized name of the object, using snake case (spaces replaced with underscores) and removing special characters. For example: If your account contains an Enrichement Attributes custom object, there will be a corresponding enrichment_attributes available for selection in Stitch.

Note: This table is replicated using the Eloqua Bulk API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

UpdatedAt

Useful links

Eloqua API method

CreatedAt

DATE-TIME

Custom Fields

VARIES

DataCardIDExt

STRING

UpdatedAt

DATE-TIME

id

STRING

emailGroups

The emailGroups table contains details about the email groups in your Eloqua account.

Note: This table is replicated using the Eloqua Application REST API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

emailGroups schema on GitHub

Eloqua API method

Join emailGroups with on
emails
emailGroups.emailFooterId = emails.emailFooterId
emailGroups.emailHeaderId = emails.emailHeaderId

createdAt

DATE-TIME

createdBy

STRING

depth

STRING

displayName

STRING

emailFooterId

STRING

emailHeaderId

STRING

id

STRING

isSecureNotificationsGroup

STRING

isVisibleInOutlookPlugin

STRING

isVisibleInPublicSubscriptionList

STRING

isWelcomeCommunicationsGroup

STRING

name

STRING

notificationEmailId

STRING

requireOptIn

STRING

subscriptionLandingPageId

STRING

subscriptionListDataLookupId

STRING

subscriptionListId

STRING

type

STRING

unSubscriptionListDataLookupId

STRING

unSubscriptionListId

STRING

unsubscriptionLandingPageId

STRING

updatedAt

DATE-TIME

updatedBy

STRING

useSecureChannel

STRING

emails

The emails table contains details about the emails sent from your Eloqua account.

Note: This table is replicated using the Eloqua Application REST API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

emails schema on GitHub

Eloqua API method

Join emails with on
forms
emails.id = forms.processingSteps.emailId
emails.dynamicContents.folderId = forms.folderId
emails.hyperlinks.folderId = forms.folderId
emails.images.folderId = forms.folderId
emailGroups
emails.emailFooterId = emailGroups.emailFooterId
emails.emailHeaderId = emailGroups.emailHeaderId
assets
emails.dynamicContents.folderId = assets.folderId
emails.hyperlinks.folderId = assets.folderId
emails.images.folderId = assets.folderId
emails.createdBy = assets.createdBy
emails.dynamicContents.createdBy = assets.createdBy
emails.dynamicContents.updatedBy = assets.createdBy
emails.fieldMerges.createdBy = assets.createdBy
emails.fieldMerges.updatedBy = assets.createdBy
emails.hyperlinks.createdBy = assets.createdBy
emails.hyperlinks.updatedBy = assets.createdBy
emails.images.createdBy = assets.createdBy
emails.images.updatedBy = assets.createdBy
emails.updatedBy = assets.createdBy
emails.createdBy = assets.updatedBy
emails.dynamicContents.createdBy = assets.updatedBy
emails.dynamicContents.updatedBy = assets.updatedBy
emails.fieldMerges.createdBy = assets.updatedBy
emails.fieldMerges.updatedBy = assets.updatedBy
emails.hyperlinks.createdBy = assets.updatedBy
emails.hyperlinks.updatedBy = assets.updatedBy
emails.images.createdBy = assets.updatedBy
emails.images.updatedBy = assets.updatedBy
emails.updatedBy = assets.updatedBy
campaigns
emails.dynamicContents.folderId = campaigns.folderId
emails.hyperlinks.folderId = campaigns.folderId
emails.images.folderId = campaigns.folderId
emails.createdBy = campaigns.createdBy
emails.dynamicContents.createdBy = campaigns.createdBy
emails.dynamicContents.updatedBy = campaigns.createdBy
emails.fieldMerges.createdBy = campaigns.createdBy
emails.fieldMerges.updatedBy = campaigns.createdBy
emails.hyperlinks.createdBy = campaigns.createdBy
emails.hyperlinks.updatedBy = campaigns.createdBy
emails.images.createdBy = campaigns.createdBy
emails.images.updatedBy = campaigns.createdBy
emails.updatedBy = campaigns.createdBy
emails.createdBy = campaigns.updatedBy
emails.dynamicContents.createdBy = campaigns.updatedBy
emails.dynamicContents.updatedBy = campaigns.updatedBy
emails.fieldMerges.createdBy = campaigns.updatedBy
emails.fieldMerges.updatedBy = campaigns.updatedBy
emails.hyperlinks.createdBy = campaigns.updatedBy
emails.hyperlinks.updatedBy = campaigns.updatedBy
emails.images.createdBy = campaigns.updatedBy
emails.images.updatedBy = campaigns.updatedBy
emails.updatedBy = campaigns.updatedBy
emails.createdBy = campaigns.runAsUserId
emails.dynamicContents.createdBy = campaigns.runAsUserId
emails.dynamicContents.updatedBy = campaigns.runAsUserId
emails.fieldMerges.createdBy = campaigns.runAsUserId
emails.fieldMerges.updatedBy = campaigns.runAsUserId
emails.hyperlinks.createdBy = campaigns.runAsUserId
emails.hyperlinks.updatedBy = campaigns.runAsUserId
emails.images.createdBy = campaigns.runAsUserId
emails.images.updatedBy = campaigns.runAsUserId
emails.updatedBy = campaigns.runAsUserId

accessedAt

DATE-TIME

archive

BOOLEAN

bounceBackEmail

STRING

contentSections

ARRAY

createdAt

DATE-TIME

createdBy

STRING

currentStatus

STRING

depth

STRING

description

STRING

dynamicContents

ARRAY

createdAt

DATE-TIME

createdBy

STRING

defaultContentSection

STRING

depth

STRING

description

STRING

folderId

STRING

id

STRING

name

STRING

permissions

STRING

rules

STRING

type

STRING

updatedAt

DATE-TIME

updatedBy

STRING

emailFooterId

STRING

emailGroupId

STRING

emailHeaderId

STRING

encodingId

STRING

fieldMerges

ARRAY

allowUrlsInValue

STRING

contactFieldId

STRING

createdAt

DATE-TIME

createdBy

STRING

defaultValue

STRING

depth

STRING

eventId

STRING

eventSessionFieldId

STRING

fieldConditions

STRING

folderId

STRING

id

STRING

mergeType

STRING

name

STRING

syntax

STRING

type

STRING

updatedAt

DATE-TIME

updatedBy

STRING

files

ARRAY

folderId

STRING

forms

ARRAY

htmlContent

OBJECT

contentSource

STRING

cssHeader

STRING

docType

STRING

documentDescription

STRING

html

STRING

htmlBody

STRING

metaTags

ARRAY

root

STRING

systemHeader

STRING

type

STRING

hyperlinks

ARRAY

id

STRING

images

ARRAY

isContentProtected

BOOLEAN

isPlainTextEditable

STRING

isPrivate

BOOLEAN

isTracked

STRING

landingPages

ARRAY

layout

STRING

name

STRING

permissions

STRING

plainText

STRING

renderMode

STRING

replyToEmail

STRING

replyToName

STRING

sendPlainTextOnly

STRING

senderEmail

STRING

senderName

STRING

sourceTemplateId

STRING

style

STRING

subject

STRING

type

STRING

updatedAt

DATE-TIME

updatedBy

STRING

virtualMTAId

STRING

forms

The forms table contains info about the forms in your Eloqua account.

Note: This table is replicated using the Eloqua Application REST API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updatedAt

Useful links

forms schema on GitHub

Eloqua API method

Join forms with on
campaigns
forms.processingSteps.campaignId = campaigns.id
forms.folderId = campaigns.folderId
activity_bounceback
forms.processingSteps.campaignId = activity_bounceback.CampaignId
activity_email_clickthrough
forms.processingSteps.campaignId = activity_email_clickthrough.CampaignId
activity_email_open
forms.processingSteps.campaignId = activity_email_open.CampaignId
activity_email_send
forms.processingSteps.campaignId = activity_email_send.CampaignId
activity_form_submit
forms.processingSteps.campaignId = activity_form_submit.CampaignId
activity_page_view
forms.processingSteps.campaignId = activity_page_view.CampaignId
activity_subscribe
forms.processingSteps.campaignId = activity_subscribe.CampaignId
activity_unsubscribe
forms.processingSteps.campaignId = activity_unsubscribe.CampaignId
emails
forms.processingSteps.emailId = emails.id
forms.folderId = emails.dynamicContents.folderId
forms.folderId = emails.hyperlinks.folderId
forms.folderId = emails.images.folderId
assets
forms.folderId = assets.folderId

accessedAt

DATE-TIME

createdAt

DATE-TIME

createdBy

STRING

currentStatus

STRING

customCSS

STRING

defaultKeyFieldMapping

STRING

depth

STRING

description

STRING

elements

ARRAY

altText

STRING

createdFromContactFieldId

STRING

dataType

STRING

depth

STRING

displayType

STRING

fieldMergeId

STRING

fields

STRING

htmlName

STRING

id

STRING

instructions

STRING

name

STRING

numberOfFieldsToDisplay

STRING

onlyShowIncompleteFields

STRING

optionListId

STRING

randomizeFields

STRING

style

STRING

type

STRING

useGlobalSubscriptionStatus

STRING

validations

STRING

emailAddressFormFieldId

STRING

folderId

STRING

html

STRING

htmlName

STRING

id

STRING

name

STRING

permissions

STRING

processingSteps

ARRAY

allowResend

BOOLEAN

campaignElementId

STRING

campaignId

STRING

description

STRING

emailAddressFormFieldId

STRING

emailId

STRING

eventId

STRING

execute

STRING

id

STRING

keyFieldId

STRING

keyFieldMapping

STRING

landingPageId

STRING

mappings

STRING

name

STRING

resendLimit

INTEGER

type

STRING

processingType

STRING

size

STRING

style

STRING

submitFailedLandingPageId

STRING

type

STRING

updatedAt

DATE-TIME

updatedBy

STRING

visitors

The visitors table contains info about your Eloqua visitors. According to Eloqua, “A visitor is a data entity that represents a unique cookie. The tracked activity data from that cookie is associated with the Visitor. There can be multiple visitors linked to a single contact.”

Note: This table is replicated using the Eloqua Application REST API.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

V_LastVisitDateAndTime

Useful links

visitors schema on GitHub

Eloqua API method

Join visitors with on
contacts
visitors.contactId = contacts.Id
activity_bounceback
visitors.contactId = activity_bounceback.ContactId
activity_email_clickthrough
visitors.contactId = activity_email_clickthrough.ContactId
visitors.id = activity_email_clickthrough.VisitorId
activity_email_open
visitors.contactId = activity_email_open.ContactId
visitors.id = activity_email_open.VisitorId
activity_email_send
visitors.contactId = activity_email_send.ContactId
activity_form_submit
visitors.contactId = activity_form_submit.ContactId
visitors.id = activity_form_submit.VisitorId
activity_page_view
visitors.contactId = activity_page_view.ContactId
visitors.id = activity_page_view.VisitorId
activity_subscribe
visitors.contactId = activity_subscribe.ContactId
activity_unsubscribe
visitors.contactId = activity_unsubscribe.ContactId

V_Browser_Type

STRING

V_CityFromIP

STRING

V_CompanyDNSName

STRING

V_CompanyNameFromIP1

STRING

V_CountryFromIP

STRING

V_CountryName

STRING

V_Current_Total_Pages

INTEGER

V_Current_Visit_Length

INTEGER

V_FirstPageInVisit

STRING

V_FirstVisitDateAndTime

DATE-TIME

V_HostName

STRING

V_IPAddress

STRING

V_ISPFromIP

STRING

V_LastPageInVisit

STRING

V_LastVisitDateAndTime

DATE-TIME

V_LatitudeFromIP

NUMBER

V_LongitudeFromIP

NUMBER

V_Name

STRING

V_ProvinceFromIP

STRING

V_TimeZone

STRING

V_TimeZoneOffsetMin

INTEGER

V_Total_Pages

INTEGER

V_Total_Time

INTEGER

V_Total_Visits

INTEGER

V_ZipCodeFromIP

STRING

contactId

STRING

createdAt

STRING

currentStatus

STRING

externalId

STRING

id

STRING

type

STRING

visitorId

STRING


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.