Custom Activities vs Custom Objects : The right tool for the right job

Level 6

I've blogged before about Custom Activities, and at length about Custom Objects, but I'm often asked when to use these. Are they interchangeable? Why do we have both? Where am I?

So many questions. At a high level, and this may seem obvious but it helps to bear it in mind. Think of Custom objects as Nouns, and think of Custom Activities as Verbs. When you think of it like that, the difference is obvious, and the use cases write themselves.

Examples of Custom Objects





     Farm Animal


Examples of Custom Activities

     Subscribed to mobile app

     Purchased Product

     Leased an Automobile

     Deleted a Portfolio

Here's a comparison...

Custom ObjectCustom Activity
Can be created by you as a Marketo AdminMust be created by Support or Consulting
Can have individual instances added via the SOAP APICANNOT have individual instances added via the SOAP API
Can have individual instances added via the REST APICan have individual instances added via the REST API
Can be used in Email ScriptsCANNOT be used in Email scripts
Can trigger off the insertion of Custom ObjectsCan trigger off the addition of Custom Activities
Can filter on "has Custom Object"Can Filter on "has Custom Activity"
Can update and deleteCannot programmatically delete or update

As you can see below comparing the available Triggers and Filters for a Custom Object and a Custom Activity, in a Custom Activity there is no concept of "has custom activity" because they are by their nature, in the activity log of the associated lead, whereas the Custom Object very much exists in a current state "this lead owns these Apple products" vs "this lead made Purchases"

Screen Shot 2015-10-06 at 12.57.34 PM.png

Screenshot 1: Available Filters and Triggers for a Custom Object

Add Milestone.png

Screenshot 2: Available Filters and Triggers for a Custom Activity

So you can see, they really each have their place. What are your use cases? Add a commend below and tell us!

Marketo Employee

John's advice here is good.  The first question you'll want to ask when coming up with the definition is really "Will I need to update individual instances of this record type?"  If the answer is yes, then you'll always need to go with Custom Objects, as Custom Actvities are Write-Once only.

Not applicable

I was totally convinced Activity was the way to do, even got it working they way i thought I wanted it via API, but can;t be used in an e-mail script is a killer for me.... So now switching to Object