Deep Dive: Custom Object vs Custom Activities vs Custom fields

Amit_Jain
Level 8 - Community Advisor Level 8 - Community Advisor
Level 8 - Community Advisor

As the Enterprise level Marketing automation platform, Marketo manages your user/customer/prospects information acquired from several sources and maintains that in Marketo for better personalization, segmentation, and reporting. These sources can range from your website forms to list build to your CRM data to your e-commerce data.

 

Marketo offers standard objects i.e. Lead, Company, Opportunity, and Activity, etc. These standard objects sometimes are not sufficient to fulfill the emerging marketing needs of extended datasets to be available in Marketo. For example, items added to the cart, students applied for different courses, products owned by a specific person, and consents for different subscriptions, etc. This information can be critical for Marketers to keep the customer/prospect engaged by providing more personalized content and unified user experience across platforms.

 

To accommodate these business needs, Marketo provides custom ways to store this type of data in Custom Fields, Custom Activities, and Custom Objects.

 

I have observed people having issues understanding when to use which of the options. In this blog post, we will understand in detail what these three things actually are and when to use which one with some examples.

 

Custom Fields

 

The “Lead“ object in Marketo is the master object and everything else is connected with this one, directly or indirectly. Marketo allows you to create custom fields on the “Lead“ object, “Company” object and recently they announced the support of “Program member” custom fields. These custom fields fulfill your need to store certain types of data. For example, you might need to store the Job Function or different consents from the user. There are two types of custom fields in Marketo:

 

  1. Synced From CRM Fields: As part of the auto Marketo ↔︎ SFDC sync, Marketo syncs all the custom fields visible to Marketo user in SFDC on Lead, Contact, Account, and Opportunity Object.
  2. Marketo Only Fields: You can directly create a field in Marketo. The data of these fields will not be synced with SFDC.

Quick Tips

  • Do you have a Marketo only field and now want to sync the data in SFDC? Check out this blog to learn how you can do that.
  • Learn more about custom fields here.
  • Marketo APIs do not support updating/creation of custom fields as of now.


Custom Objects

 

Apart from standard objects, Marketo allows you to create your own custom objects. You can create custom objects and relate to either Company or Lead object or another custom object.

 

A custom object is a set of custom records that supplement standard Lead and Company records. Custom objects allow you to store additional data in a scalable manner and link that data to a Lead or Company record.

 

You can build a custom object with any combination of standard (Link Fields) and custom fields, populate those fields to create custom object records, and then link those records to a Lead or a Company record. Powerful and flexible, linked records enrich your Segments, Smart Lists, and Campaigns by letting you build those assets with information not found in Lead fields and Company fields.

 

A custom object can have one of the following types of relationships:

 

  • One-to-One Relationship: where each custom object has a single Lead/Company object record.
  • One-to-Many Relationship: where each custom object contains multiple custom object records related to a Lead/Company.
  • Many-to-Many Relationship: where multiple custom object records can link with multiple lead/company objects. For example, multiple students are enrolled in multiple courses from a course catalog.

 

Quick Tips

  • Learn more to set up custom objects here.
  • You can use the Marketo custom object as an intermediary object as well, meaning a custom object of the custom object.

 

Why Custom Objects?

 

Custom objects allow you to compile and use unique data that is relevant to a company or lead but is not necessarily static information about the company or lead themselves. While lead fields relate to an individual’s lead information (Email AddressZip Code, and so on), business information (Job TitleIndustry, and so on), or system-driven information (Marketo ID, a SFDC ID, or Create Date etc.), custom object fields are fully customizable. For example, use custom objects to store information such as the following:

 

  • A user’s purchase history.
  • Cart information.
  • Whether or not a customer has used one of your limited-time, promotional discount codes.
  • Supplementary information acquired from survey results, interviews, and event attendance.
  • A user’s trial information including trial instance URL, Start Date, End Date, Number of user’s etc.

Marketo Custom Object Limitations

 

  1. By default, Marketo allows you to create 10 custom objects. You can increase the limit with an additional subscription fee.
  2. The Default number of fields per object is 50 but you can request Marketo support for additional fields if required.  Thank you Michael Florin for the additional input here.
  3. There is a limit on the number of records you can have across all the custom objects. It depends on your subscription to Marketo. This limit can be increased with an additional subscription fee.
  4. If a custom object was created using API, Marketo does not allow to edit the CO schema from Marketo UI.

 

Quick Tips

  • Marketo API’s support CRUD (Create, Read, Update, and Delete) operation on custom objects.
  • You can use this custom object data for email personalization using Velocity Script.
  • You can find all Custom object-related endpoints here.
  • Bulk APIs only support bulk import of custom object records, it doesn’t support bulk extract. More details here.
  • You can import data into a custom object using Lead Database import functionality. More details here.

 

Custom Object Terminology

Custom Object: A container that holds a grouping of all the custom object records. Formally known as a data card set or custom table.

Custom Object Record: Data record-holding additional field information that can be tied to a lead or company. A record can be made up of standard lead or company fields, and custom object record fields. Formally known as a data card or data table row.

 

Custom Object Record Field: Completely customizable fields to collect unique or temporary information. These fields are created and housed inside the custom object itself. Formally known as a data card field or database table field/column.

 

Link Field: Special type of custom object record field to define the relationship between custom object record and linked Lead/Company object record. When you create custom objects, you must provide link fields to connect the custom object record to the correct parent record.

 

  • For a one-to-many or one-to-one custom structure, use the link field in the custom object to connect it to a person or a company.
  • For a many-to-many structure, you use two link fields, connected from a separately created intermediary object (which is a type of custom object, too). One link connects to people or companies in your database and the other connects to the custom object. In this case, the link field is not located in the custom object itself.

 

Custom Activities

There are several ways someone can interact with our organization. They may visit your company’s website, attend one of your tradeshows, or perhaps click a link in an email sent by you. These actions are activities, and whatever action they take, Marketo captures it so your Marketing and Sales Teams can better understand user’s behavior for personalized and unified engagement.

 

Custom Activities can help you track an activity that isn’t related to a Marketo form, email, or landing page. For example, if you want to track when someone viewed a video on a website or took a survey, use custom activity.

Custom activities differ from custom objects. Use custom objects when the value can change (i.e. “car color” changes from blue to red). Use custom activities when tracking moments that occurred, and their details cannot change (i.e. “purchased car”).

 

By default, the limit of the max number of custom activities can be defined is 10. This can be increased with an additional subscription fee.

 

As per the Marketo data retention policy, custom activities will be deleted automatically after 25 months.

 

Custom Activities Terminology

 

Custom Activity: Non-Marketo events that you would want to track inside Marketo.

 

Custom Activity ID: Marketo assigns a numeric ID to the custom activity that can be used while trying to push/pull the activity data using Marketo API.

 

Custom Activity Fields: Activity metadata can be stored in the activity field. For example, if you are tracking the views on the video, the fields could be the Page URL, Video Title, etc.

 

Custom Activity Primary Field: Custom activity fields that can be used as the smart list filter criteria.

 

Quick Tips

  • The API endpoints for custom activities are available here.

 

Custom Object vs Custom Activity

 

  Custom Object Custom Activity
1 Max 10 Custom objects by default per instance. Max 10 custom activities by default.
2 Max 50 custom object fields per custom object. Each custom activity type can have up to 20 secondary attributes.
3 Max 1MM custom object records; May very based on your subscription. After 25 months custom activities will be deleted as per the Marketo data retention policy.
4 Can be used as Filter and Trigger in Smart Lists and Smart Campaigns. Can be used as Filter and Trigger in Smart Lists and Smart Campaigns.
5 Can be used to personalize the email content. Cannot be used to personalize the email content.
6 Can perform CRUD operation on a custom object record. Only Create and Read is allowed on custom activities.
7 Use custom objects when the value can change (i.e. “car color” changes from blue to red). Use custom activities when tracking moments that occurred, and their details cannot change (i.e. “purchased car”).
8 Custom objects tell you the fact. i.e. present value. Custom Activities tell you the events that have happened in the past.

 

9326
7
7 Comments
PikeStLabs
Level 2

Thanks for the article. It's a good overview and custom objects essentially seem to allow you to create a relational database which is very useful.

One thing I couldn't quite figure out when I created a custom object and imported a list into it was how to view the data from the database view or do segmentations based on values . Are either of those possible?

1. Can I create a Group Smart List where I can see a both the custom object fields and lead fields together? (eg where car = honda in the custom object list)

2. Can I create a segment based on custom objects? (e.g. segment off car model honda, toyota, ford)

 

Thanks,

Dustin

Michael_Florin
Level 10

Hi Dustin,

 

1) yes. car = honda AND First Name = Dustin is certainly a valid Smart List filter.

2) not directly, but there are options. See e.g. here:
https://nation.marketo.com/t5/Product-Discussions/Can-I-reference-a-Custom-Object-in-a-Segmentation-...
https://nation.marketo.com/t5/Marketo-Whisperer-Blogs/Segmentations-Using-Custom-Object-Data/ba-p/24...

PikeStLabs
Level 2

Thanks Michael, for #1 above do I need to mark 'Show In Person Details' = Show on the custom object? I'll look up the links for #2 as well. Thanks

 

Michael_Florin
Level 10

No. "Show in Person Details" means that the object data are visible on a person's lead detail page. I would always check that button. But doesn't affect the ability to use a Custom Object filter in a Smart List.

 

2020-12-17 18_06_43-Michael Florin.jpg

PikeStLabs
Level 2

Ok, thanks. In that case, I still don't see the fields I've added in the Custom Objects in the Smart Lists when I'm in 'Database' and trying to create a custom smart list. I figured I could just type in the field name in "Search" and they would appear as an option on the filter options, but I don't see them. I only see the custom fields I added to the lead table. 

Screen Shot 2020-12-17 at 10.17.54 AM.png

 

Michael_Florin
Level 10

Oh, I sense a misunderstanding here. 🙂

 

The fields on the Custom Objects are in the constraints of the "Has Custom Object" filter.

 

2020-12-17 15_32_39-Google Maps.jpg

 

I would like to add that a Custom Object only comes with a few filters (and triggers, if you use them in a Smart Campaign). Here they are in our case where the Custom Object name is "GH Assets":
2020-12-17 19_35_01-Window.jpg

(The trigger "... is Updated" might not be available in your Marketo instance. You have to have it activated by support).

 

PikeStLabs
Level 2

Bingo! Thank you. I didn't know to add the 'Has' filter. Awesome.