I'm creating a Custom Object in Marketo and want the custom objects to be associated to the Marketo Person/Lead. I would like to link this custom object to the Person/Lead using the "SFDC Id" field which is a GUID from Salesforce. The SFDC Id field is available and accurately populated with the Salesforce record Ids on the Person/Lead, however, this field is not available as a link field in the Custom Object when I'm attempting to map it. There is an "Id" field available for linking, but I think that's referring to the Marketo GUID - this field is not listed in field management so I'm unsure.
Am I missing something here, or is this a limitation I'm experiencing with Custom Object linking.
I do not think you can use SFDC Ids to link custom objects in Marketo. Could you create the custom objects in Salesforce and then synchronize the custom object from Salesforce to Marketo?
I should have stated that the source of the custom objects is Salesforce. The native Salesforce-Marketo custom object sync doesn't support what I need so I'll building a custom integration populating a Marketo Custom Object with the Salesforce data. I can easily get the Salesforce record Id field into the Custom Object, but don't know why they wouldn't let me link to the Person/Lead based on the Salesforce record Id.
The native Salesforce-Marketo custom object sync doesn't support what I need
What is it you cannot do here ?
You can use a secondary ID field that you create in SFDC, formula, value = casesafeid(id) and use it a foreign key for your custom object. But I do think that fixing the original issue and using the custom sync is a much better way to go (starting with maintenance issues on the long term).
Grégoire Michel Thanks for the reply. I was able to resolve this by adding a custom foreign key in Salesforce on Contact and using that field as the link field for custom object.
The limitation Marketo has with the "Salesforce Object Sync" is that you can't use the already synced standard Salesforce objects (Contact, Lead, Account, Opportunity, User) as 2nd level objects. For example my company uses the Salesforce standard object "Account Contact Role" which is a MtM object linking Contacts to Accounts. I can sync the Account Contact Role object linked to Contact, but Account is not accessible as a 2nd level object which is an issue. In this example I would want to but can't create a smart list like this: "Contact has Account Contact Role where Account's type = X". This problem persists for standard Salesforce configurations. Account Team (connects Users to Account) and Account Opportunity (connects Opportunities to Accounts).
I therefore have to build a custom API integration for these needs and also provide a foreign key on anything I want to link these custom objects to (Contact, Account, and Lead if required). This is not an ideal solution for this fairly common Salesforce configuration and segmentation needs (Account Team, Account Contact Role, Account Opportunity).