Hi,
I'm new to Marketo. I have to set up Maketo. Whereas my requirement is like. We have Leads, Course Registrations and Courses.
The structure should be like this below:
Lead | Course Registration (Custom Object) | Course (Custom Object) |
---|---|---|
LeadId | RegistrationId (Dedupe Field) | CourseId (Dedupe Field) |
Name | LeadId (Link Field with Lead Object) | CourseName |
Phone | CourseId (Link Field with Course Object) | LessonName1 |
Country | RegisteredDate | LessonName2 |
LessonName3 | ||
LessonName4 | ||
LessonDate1 | ||
LessonDate2 | ||
LessonDate3 | ||
LessonDate4 |
So each of lead can have multiple registrations whereas each registration should be connected to one course.
I have created above structure in Marketo and Add some dummy data for testing a campaign. I have to send a lesson reminder email of 24 hours, 12 hours, 6 hours, 3 hours and 1 hour to students who have registered for a course.
I have created a test campaign for the lesson1 reminder email and tried to access the course through script token but not able to access Course Fields because I can only see Course Registration Custom Object in RHS pane in the token editor.
Could you please help me here to access Lesson Name and Course Name from Course Object. And also suggest me that I'm using the right structure in Marketo for my requirement.
Thanks in Advance.
You can't access 2nd-level objects from Velocity, so no, this isn't the right structure.
If you search past threads for "second level objects" or other variations, you'll see this discussed at length.
Hi Sanford,
Could you please tell me the right structure for this requirement.
Thanks
Have only 1 course registration object, linked to the person objet, and recopy into it all the fields of the course object that you might need.
-Greg
BTW, this is called database denormalization. Reminds me my early days. Denormalization - Wikipedia
For anyone looking for more details on the setup in the question:
And, if you are here because you're looking for a way to have Leads + Contacts point to multiple objects through an intermediary object, here is an example of something I tested.
Here is our setup. There is a Many-to-many mapping that can happen between Leads, Accounts and "Tenant" objects. This is done through an intermediary "Tenant Mapping" object. To complicate things, the Lead and Account could point directly to a Tenant, not going through an intermediary object (but I didn't care about that scenario for Marketo setup purposes).
This is what the Salesforce Object Sync map looks like when you refresh the schema. You can see that, under the Lead, there is a "Tenant" listed directly (this is for getting the tenant that's directly linked to the Lead), and there is a "Tenant Mapping" with a "Tenant - Lead" underneath. That's the one we want to sync over - because it uses the many-to-many intermediate object. Note that "Tenant - Lead" and "Tenant - Account" originally came through as just "Tenant". You have to rename them so they're unique. Marketo will pull the data only once (it won't create copies of the Tenant rows) - this is just a cosmetic renaming you need to do.
Sync only the objects in green. Marketo will "implied sync" the intermediate object.
Detailed view. You can see how many of the Tenant objects are available in SFDC, vs. how many were brought over to Marketo. If you refresh this window during initial sync, you'll see the Marketo go up on each refresh.
The result:
Huge thanks to Veronica Holmes who explained a lot of this in the following video: https://www.youtube.com/watch?v=qXt1CPMZReA