Custom Objects in Marketo - Part 6 - Many to Many Custom Objects

John_M
Marketo Employee
Marketo Employee

Now lets move on to completing out many to many example. The example, as you may remember, is to model student enrollment in courses. Some terms I'll be using..

The "bridge" object Is the object that contains the data resolving the objects, the enrollment in this case. It tells us which lead is enrolled in which course, allowing many enrollments by many leases into many courses

The "edge" object is our standalone object. In this case, the course.

The example below may help. Here, the Opportunity Person Role is the "bridge" object and the Opportunity is the "edge".

Screen Shot 2015-11-02 at 10.50.06 AM.png

So lets continue by creating our enrollment object in marketo

Step 1: Create the Object

02.png

Step 2: Create Link Field #1 (to the Course Object)

03.png

Step 3: Link Field #2 (to the Lead Object)

04.png

Step 4: Create a Dedupe Field (EnrollmentID in this case)

Screen Shot 2016-01-14 at 11.22.13 AM.png

I really recommend thinking through what you want your objects dedupe fields to be. What makes the bridge object unique? In the case of the edge object its often just something like a course ID.. but for enrollment it might be EnrollmentID AND CourseID... or simply a GUID. Remember once you publish you cant change dedupe and link fields.. so think through it carefully!

Step 5: Publish The Object

05.png

This is how it looks...

06.png

That's all great.. but how do you use it? Great question. Under your triggers and filters you'll see the following

  • Added to Course (Trigger)
  • Was added to Course (Filter)
  • Has Course (Filter)
  • Was Not Added to Course (Filter)

The cool magical thing here is that when you select the filter... you can also see the bridge object! You can get a list of leads who have a Course with a certain instructor and also are enrolled in a program of study, for example.

Screen Shot 2015-11-02 at 11.37.03 AM.png

7245
18
18 Comments
Anonymous
Not applicable

Wow. Thanks so much for the reply.

I’m a data modeler, so I understand many-to-many (and was excited to see it available)!!!

I want to end up with Lead<-ProductsPurchased->Products

So I created a new ‘product’ custom object. This would be my edge object. I add a string field of SKUID, dedupe property = yes. Then I try to publish and I get, ‘Need link for publish’.

According to the docs and this particular blog post the edge custom object should be able to stand alone with no link field, but I can’t publish that in my instance for some reason… ???

Thanks again.

Anonymous
Not applicable

Is it possible that:

One-to-many

And

Many-to-many

Are features purchased separately? I can create one-to-many with no problem, but many-to-many, is not working.

Grégoire_Miche2
Level 10

Hi again Steve,

Have you linked the "productspurchased" to the "product" table  (with a link field in the productspurchased table) ?

I just tried it and had not problem publish the edge (product) table even before the bridge one.

I have not heard that the features were sold separately. That's weird.

-Greg

Anonymous
Not applicable

I cant link the intermediate to the edge because the edge is not published. I can't publish the edge standalone. Yes very weird.

I have a message into a marketo modeler. Hopefully he can help.

Grégoire_Miche2
Level 10

Can you paste here a screen shot of the fields in your edge object ?

-Greg

Anonymous
Not applicable

The word from Marketo is that many-to-many relationships has to be enabled. No word as to what set of features would do that without asking.

Their tech guy is working on it I am told.

Thanks so very much for the help. It helped me confirm that I wasn’t (completely) crazy with what I was attempting.

Have a great week!

Jason_Antony
Level 1

Maybe I missed a part of this but can you use a value of the custom object in an Email for personalization or do you need to create segments?

Grégoire_Miche2
Level 10

Hi Jason,

You can use custom objet info oin an email through a email script token (velocity).

-Greg