Discussions

Best Practice – Custom Data Object Records (Data Cards) - Definition and Recommendations for Usage

Justina Allen-Oracle
Justina Allen-Oracle Posts: 13 Gold Medal
edited Apr 29, 2022 6:21AM in Eloqua

So what is a Custom Data Object record? Custom Data Object (CDO) records or CDOs store data elements in the Eloqua system that are not part of your account or customer contact record. Custom Data Object records can also go by the name data cards.

Custom Data Objects allow you to define data elements that share one-to-many relationships with a contact or an account record.  This data is stored, linked to the contact or account record and made available for many other uses (see below). Custom Data Object records are created in Custom Data Objects (also known as Custom Objects or Data card Sets).

Custom Data Object Examples:

  • Point of Sale Information
  • Product Purchase History (Mary Jane has product X, Y and Z)
  • Licensing/entitlement information
  • Subscription/membership data
  • Event/webinar attendance data
  • Social media data associated to a contact
  • Opportunity data, Warranty, Service Contracts, Competitive Intel, BU Segmentation Data (ie RUM/RAD)

Custom Data Object Example = Subscription Renewal Information
Custom Data Object fields in the Subscription Renewal object could be:
Renewal Product Name
Renewal Date
Renewal Fee

Uses for Custom Data Object Records:
By storing and accessing this data, workflows can be better defined and aligned to what the prospect or customer is interested in.

  • Segment and filter contacts for inclusion into an email campaign.  For example, point of sale information stored in a data card shows that Mary Jane bought tickets to Bon Jovi, so now we can offer similar tickets.
  • Build out more sophisticated lead scoring (if they own product ZZ, score higher)
  • Build rules for lead routing (if product X and product Y, send lead/contact to PowerQualifierGroup)
  • Segment into specific nurture or drip campaigns (if contact has product X, drop into Campaign CrossSell)
  • Remove from a specific nurture campaign if a contact has an opportunity stage of ‘sales qualified lead’.
  • Send emails to contacts that have tweeted about a certain topic
  • Send follow up communication to webinar attendees based on the time they spent at a webinar (used as part of a Cloud Connector process).
  • Send subscription renewal emails with all the relevant information including the renewal date, product and renewal fees.

Recommendations:

  • How many Custom Data Objects can you have? There is no defined system limit on the number of Custom Data Objects allowed
  • How many records are recommended?  The smaller the better for optimum performance.  Here are some good rules to go by:
  • 1M to 3M per object is good and reasonable
  • 3M – 6M is acceptable
  • 6M- 10M is fine, but if you can keep it below this threshold, that’s better.
  • It is not recommended to go over 10M.
  • How many records can I have in total?  It is not recommended to exceed 20 million
  • You should design a process to clear out old data cards to keep them below the numbers mentioned above.

Posts to reference:

Recommended Eloqua Education Courses*:

  • *Course: Program Builder – not specific to custom data objects, but most people will use CDOs when building out programs in Program Builder.

* Requires an Eloqua All Education pass

Post edited by OIT Integration User on
Tagged:

Comments

  • Great post!

    However it is unfortunate that there is no possibility of many-to-many relationships between Account or Contact and Custom Data Objects (or between Custom Data Objects). - Does anyone know if there are plans for a development towards a many-to-many data model in Eloqua?

    For example, we want to create a Custom Data Object with sales pipeline related to the Account, but we also want to relate the sales pipeline to the contact who we communicate with in relation to the specific sales opportunity. - Does anyone have a proposal for a solution to this challenge?.

  • Ankitm
    Ankitm Posts: 1 Green Ribbon

    Good Starting Point .

    I am new to Eloqua , Can you please help me . How do i include multiple data sets of CDO into my email dynamically .

  • Andy Shaw
    Andy Shaw Posts: 15 Gold Medal

    Here's a quick question -- in the recommendations area, you use "M" as a numeric abbreviation.  Can you clarify whether you mean this to represent thousands or millions?  I have seen it used both ways.

    Thanks!

  • errajrawat
    errajrawat Posts: 1 Blue Ribbon

    @Andy Shaw it supposed to be Millions.

  • Andy Shaw
    Andy Shaw Posts: 15 Gold Medal

    @Andy Shaw it supposed to be Millions.

    Thanks!!

  • tysonrandall
    tysonrandall Posts: 1 Blue Ribbon

    Are there any recommendations on how many fields a custom object record should contain at max?

  • Tom Schreurs
    Tom Schreurs Posts: 17 Blue Ribbon

    What if CDO's are sent of which the Account doesn't exist and the Account is sent afterwards. How to re-create the mapping?

  • Tom Saichek
    Tom Saichek Posts: 8 Blue Ribbon

    Good Starting Point .

    I am new to Eloqua , Can you please help me . How do i include multiple data sets of CDO into my email dynamically .

    Ankitm,  you can do field merges from multiple CO sets to an email as long as there is only one CO record in the set linked to the contact. if you have more than one CO record and want to do a field merge, the out of the box functionality does not work ,since it does not know which record to pull the data from.

    if you have a situation of many to one, we have built a cloud app to solve that problem (https://4thoughtmarketing.com/moving-data-oracleeloqua-custom-data-object-records-linked-contact-account-record/ ) - check it out

  • Re-upload the CDO's data with 'Map data cards' option selected. 

  • krystenollice
    krystenollice Posts: 10 Gold Medal

    Is there a good way to segment on a contact that has multiple records within a custom object? I only want to pull them in if a single custom object record meets all criteria. I'm finding if we have a single contact with multiple custom object records, Eloqua looks for criteria across all records rather than just one. This is for segmenting, not for populating data within an email. I tried to find an app that's a custom object selector but doesn't look like there are any free ones.

  • HongTai
    HongTai Posts: 45 Bronze Medal

    Is there a good way to segment on a contact that has multiple records within a custom object? I only want to pull them in if a single custom object record meets all criteria. I'm finding if we have a single contact with multiple custom object records, Eloqua looks for criteria across all records rather than just one. This is for segmenting, not for populating data within an email. I tried to find an app that's a custom object selector but doesn't look like there are any free ones.

    Hi Krysten,

    Please let me know if I'm missing a part of the picture on your segmentation, but that seems to occur if you were to have two separate linked CDO criteria joined by an AND. 

    However, if you were to have just one "Has Linked CDO" Criteria and add in all the criteria you need met into it with the "Add" function, it only picks up contacts that has a CDO record that matches all the conditions as stated.

    pastedImage_0.png

    I ran a quick test too where I had multiple records linked to a contact, and so far the behavior seems to fit, but please let me know if I misunderstood something or missed something in the logic that you may have in your CDO / segment.  At the same time, there is another approach where you can run a segment that scoops up everybody who has a "somewhat related" CDO, place them into a canvas that then adds their linked CDO to a CDO program canvas (it adds all linked CDOs), and have the program filter it out that then adds "linked" contact to another program.  However, that's just a second very roundabout alternative if the aforementioned logic doesn't work.

    Looking forward to hear back!

    Best Regards,

    Hong Tai Lee

  • krystenollice
    krystenollice Posts: 10 Gold Medal

    Hi Krysten,

    Please let me know if I'm missing a part of the picture on your segmentation, but that seems to occur if you were to have two separate linked CDO criteria joined by an AND. 

    However, if you were to have just one "Has Linked CDO" Criteria and add in all the criteria you need met into it with the "Add" function, it only picks up contacts that has a CDO record that matches all the conditions as stated.

    pastedImage_0.png

    I ran a quick test too where I had multiple records linked to a contact, and so far the behavior seems to fit, but please let me know if I misunderstood something or missed something in the logic that you may have in your CDO / segment.  At the same time, there is another approach where you can run a segment that scoops up everybody who has a "somewhat related" CDO, place them into a canvas that then adds their linked CDO to a CDO program canvas (it adds all linked CDOs), and have the program filter it out that then adds "linked" contact to another program.  However, that's just a second very roundabout alternative if the aforementioned logic doesn't work.

    Looking forward to hear back!

    Best Regards,

    Hong Tai Lee

    Thanks for the reply. I have tried segmenting in both fashions mentioned: by using the and statement as well as you screenshot it above above. The problem I'm finding is when you have a contact that has for example, 2 opportunity data cards within a single custom object and opportunity one matches only one piece of criteria as defined, and opportunity 2 matches the other piece of criteria defined, Eloqua will pull you into the segment. It does not evaluate on BOTH criteria within the single custom object record. When I tested similarly to how you list above, I did not accurately pull the contacts I wanted.

    I've thought about the program builder/canvas as an option to solve, but wouldn't it run into the same problem where Eloqua mix & matches criteria if you have more than 1 cdo record?

  • HongTai
    HongTai Posts: 45 Bronze Medal

    Thanks for the reply. I have tried segmenting in both fashions mentioned: by using the and statement as well as you screenshot it above above. The problem I'm finding is when you have a contact that has for example, 2 opportunity data cards within a single custom object and opportunity one matches only one piece of criteria as defined, and opportunity 2 matches the other piece of criteria defined, Eloqua will pull you into the segment. It does not evaluate on BOTH criteria within the single custom object record. When I tested similarly to how you list above, I did not accurately pull the contacts I wanted.

    I've thought about the program builder/canvas as an option to solve, but wouldn't it run into the same problem where Eloqua mix & matches criteria if you have more than 1 cdo record?

    Hi Krysten,

    So here are the test records that I used to test and it showed that both criteria, or criteria listed in the pop up / container condition box are evaluated on one single custom object record - even when the contact has multiple linked records.

    pastedImage_1.png

    Test Case 1:  Segment for Contact that has linked CDO where Condition 1 = YES and Condition 2 = YES

    Result:  This returned only [email protected].

    Test Case 2:  Segment for Contact that has linked CDO where Condition 1 = YES and Condition 2 = YES and Condition 3 = NO

    Result:   This returned no contacts as no contacts had no records where c1, c2, and c3 were true on that exact one record

    Test Case 3:  Segment for Contact that has linked CDO where Condition 1 = YES and Condition 2 = No

    Result:  This returned 2 contacts, [email protected] and [email protected] (expected)

    Test Case 4:  Segment for Contacts that has linked CDO where Condition 1 = YES and Condition 2 = No and Condition 3 = Maybe

    Result:  This returned only [email protected]tlook.com

    Test Case 5:  Segment for Contacts that has linked CDO where Condition 1 = YES and Condition 2 = No and Condition 3 = "is blank"

    Result:  This returned 0 contacts.

    I've re-read the use case you presented, and even peer checked this - so please pardon me if I am missing a key observation here but grouping conditions in the box do indeed look like they look to satisfy all those conditions on one record. 

    If you'd like, I can start a new chain here for you to further look into this in the Do It section, or we can arrange a quick screen share to look at the logic to highlight what might be happening.  Could it be possible that the CDO set might contain a whole lot of out dated records dating really far back that may be satisfying the listed conditions as well?

    If the data is too sensitive to share on the forum, you can also email me at [email protected].  I'm really interested in this too.

    Best Regards,

    Hong Tai Lee

  • Sean L
    Sean L Posts: 7 Green Ribbon

    We use Custom Object to power email campaigns. Multiple emails can be generated for the same contact based on the linked records.

    The question is - is there any way to track for which Custom Object Record an email has been sent? e.g. If a contact has three linked records, emails have been generated for record A and record B but not record C based on some criteria. Is there any kind of log to track that emails are sent for A and B but not C?

  • We use Custom Object to power email campaigns. Multiple emails can be generated for the same contact based on the linked records.

    The question is - is there any way to track for which Custom Object Record an email has been sent? e.g. If a contact has three linked records, emails have been generated for record A and record B but not record C based on some criteria. Is there any kind of log to track that emails are sent for A and B but not C?

    If the CDOs are enabled for reporting and are linked to a contact, you should be able to use any subject area (for example email subject area) to include the CDO record. You should see one email record for each linked CDO.

  • Sean L
    Sean L Posts: 7 Green Ribbon

    If the CDOs are enabled for reporting and are linked to a contact, you should be able to use any subject area (for example email subject area) to include the CDO record. You should see one email record for each linked CDO.

    Thanks a lot for the reply. Wouldn't adding it to subject show the info to the email recipients? We don't intent to show the record to recipient, just for internal analytics.

  • Sandra Amoruso
    Sandra Amoruso Posts: 3 Red Ribbon

    Hello, I'm looking for the info which was behind the article link which describes "how to populate a CDO with form processing steps". It as unfortunately been removed. https://community.oracle.com/community/do_it/blog/2012/07/30/custom-data-objects

    the way I'd like our processing steps to work are to 1) receive CDO IDs via the Forms, 2) match the ids that correspond to each CDO column with a Y / N for each contact in the CDO.

    Support is appreciated. Thank you.