--- title: "6sense-to-Eloqua Integration Guide -> Creating CDOs" slug: "6sense-to-eloqua-integration-guide-creating-cdos" description: "Learn how to sync predictive data with Eloqua's Custom Data Objects using APIs, manage data volume, and troubleshoot common errors effectively." updated: 2025-07-10T18:31:22Z published: 2025-07-10T18:31:22Z canonical: "support.6sense.com/6sense-to-eloqua-integration-guide-creating-cdos" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.6sense.com/llms.txt > Use this file to discover all available pages before exploring further. # 6sense-to-Eloqua Integration Guide -> Creating CDOs This guide covers the following: 1. Custom Data Object definitions 2. APIs used for data syncing 3. Volume and frequency of data syncing 4. Common errors and associated handling ## Custom Data Object (CDO) Definitions The 6sense platform is designed to push all required predictive data into Eloqua’s CDOs for the data to be available as a reference to all your workflows, and without requiring any changes to your Standard Objects. In order to achieve this, the following are some requirements that contain actions for your team: - Your Eloqua administration team must create the required CDOs within Eloqua. Information on how to create a CDO in Eloqua can be found [here](http://docs.oracle.com/cloud/latest/marketingcs_gs/OMCAA/Help/CustomObjects/Tasks/CreatingCustomObjects.htm). - Each **product category** being modeled by 6sense will need to have separate 6sense fields as described in the CDO structure below. ### CDO #1: Contact6sense (Required) | **Field Label (Display Name)** | **Field Name** | **API Name** | **Data Type** | **Notes** | | --- | --- | --- | --- | --- | | Eloqua Contact ID | originalExternalID | originalExternalID1 | Text (32) | | | Custom Key | customKey6sense | customKey6sense1 | Text (64) | | | Score Date | scoreDate6sense | scoreDate6sense1 | Date | | | Contacts Email | contactEmail6sense | contactEmail6sense1 | Text | | | 6sense Contact Intent Score – | contactIntentScore6sense_ | contactIntentScore6sense_1 | Integer | * | | 6sense Contact Profile Fit – | contactProfileFit6sense_ | contactProfileFit6sense_1 | Text (18) | * | | 6sense Account Intent Score – | accountIntentScore6sense_ | accountIntentScore6sense_1 | Integer | * | | 6sense Account Profile Fit – | accountProfileFit6sense_ | accountProfileFit6sense_1 | Text (18) | * | | 6sense Account Buying Stage – | accountBuyingStage6sense_ | accountBuyingStage6sense_1 | Text (30) | * | | 6sense Account Numerical Reach Score | accountNumericalReach6sense_ | accountNumericalReach6sense_1 | Integer | | | 6sense Account Reach Score | accountReach6sense_ | accountReach6sense_1 | Text (18) | | | 6sense Contact Reach Score | contactReach6sense_ | contactReach6sense_1 | Text (18) | | | 6sense Account Profile Score – | accountProfileScore6sense_ | accountProfileScore6sense_1 | Integer | * | | 6sense Contact Grade – | contactGrade6sense_ | contactGrade6sense_1 | Text (18) | * | | 6sense Contact Profile Score – | contactProfileScore6sense_ | contactProfileScore6sense_1 | Integer | * | > [!NOTE] > Replicate these fields as required for each product category being modeled by 6sense. Replace with your desired product category name. If you do not want to follow the recommended naming convention above, please ensure the API names do not start with a number. ### CDO #2: Account6sense (Optional) This CDO is optional. Its use depends upon your use cases within Eloqua and if you are using the Eloqua Account Object. | **Field Label (Display Name)** | **Field Name** | **Eloqua API Name** | **Data Type** | **Notes** | | --- | --- | --- | --- | --- | | Eloqua Account ID | originalExternalID | originalExternalID1 | Text (32) | | | Custom Key | customKey6sense | customKey6sense1 | Text (64) | | | 6sense Account Intent Score – | accountIntentScore6sense_ | accountIntentScore6sense_1 | Integer | * | | 6sense Account Profile Fit – | accountProfileFit6sense_ | accountProfileFit6sense_1 | | * | | 6sense Account Buying Stage – | accountBuyingStage6sense_ | accountBuyingStage6sense_1 | Text (30) | * | > [!NOTE] > Replicate these fields as required for each product category being modeled by 6sense. Replace with your desired product category name. If you do not want to follow the recommended naming convention above, please ensure the API names do not start with a number. ## APIs Used for Data Syncing We currently use Eloqua’s Bulk APIs to transport data from the 6sense Platform to Eloqua CDOs. Details of these APIs are available [here.](https://docs.oracle.com/en/cloud/saas/marketing/eloqua-develop/Developers/BulkAPI/bulk-API.htm) ## Volume & Frequency of Data Syncing While every customer’s data volume is different, here are some noteworthy points to help get an understanding of factors that drive volume and frequency of data syncs: - 6sense syncs predictive intelligence data to Eloqua CDOs nightly using an Eloqua account provisioned by your Eloqua administration team for 6sense. - Only records with updated scores since the last sync are included. - The number of API calls used for exports depends on the amount of data to be exported which varies daily. 6sense maintains an internal cap of using up to only 700 API calls per day maximum that shared by both import and export syncs between Eloqua and 6sense. From a performance perspective: - Each batch of records is limited to a maximum of 32MB. The number of records in a batch depends on the number of fields in each record, which in turn depends on the number of product categories that 6sense is predicting for your organization. The current average batch size is 150K records. Up to 10 API calls will be required for each batch. - On average, the time to import 10K record updates from 6sense to Eloqua is two (2) minutes. When there are CDO data size constraints, and it is not feasible to store predictions for all records, 6sense can manually configure certain filters to reduce the volume. If this applies in your implementation, reach out to your 6sense Customer Success Manager to discuss options. ## Common Errors and Associated Handling This entire process generally faces very few error scenarios in our experience, but the common errors seen and resolutions are described below: - **Login Failure:** The export will be disabled, and the 6sense CSM will reach out to the customer to conduct a password reset. - **Export Setup Failure:** Usually caused by either incorrect field mappings (which 6sense will handle) or incorrect CDO structure (6sense will reach out to the customer to resolve). If any other errors are seen, please reach out to your 6sense CSM or [open a case](https://revcity.6sense.com/home/categories/support). Application Programming Interface; a set of rules that allows different software applications to communicate with each other.