Align Opportunity Identification Across API Behaviors

0 Likes

Align Opportunity Identification Across API Behaviors

As a technical solution provider, I would like to provide enhanced opportunity information across Marketo behaviors--and ideally, without the use of a separate CRM. However, when a CRM is attached to Marketo, there are several issues with translating Marketo opportunity activity:

 

  • Activities such as Add to Opportunity/Remove from Opportunity/Update Opportunity (Activity IDs 34-36) use an integer as the identifying value for an opportunity. For example, a recent "Add to Opportunity" activity returns the following:

    {"id":98506929,"marketoGUID":"98506929","leadId":2054980,"activityDate":"2024-05-01T09:40:00Z","activityTypeId":34,"primaryAttributeValueId":72984,"primaryAttributeValue":"Opportunity Name - 2024","attributes":[{"name":"Is Primary","value":true},{"name":"Role","value":"Relevant Executive"}]},
     
    This results in an Opportunity ID value of "72984." While I can work backward using the primaryAttributeValue to match via the opportunity name, this is less than ideal. There is also no reference to any externalOpportunityId, which would be used in this case (the instance is synced to an SFDC instance).

  • Querying Marketo's own recording of opportunities independent of the CRM results in displaying a UUIDv4 value, but there is no reference to either the integer value on the Opportunity-related Activities value that could be used to cross-reference between systems:
    {"requestId":"11802#18fdeddf644","result":[{"seq":0,"marketoGUID":"be320968-423a-48e2-9730-e2e08df61fae","externalOpportunityId":"0061R00000m3kRLQAY","updatedAt":"2023-09-06T01:27:58Z","createdAt":"2018-12-17T15:43:08Z"}],"success":true}
    The marketoGUID is written activity-style rather than reading from the integers recorded in the opportunity-related activity. This leaves no way to resolve Marketo's own ID systems to tie the data together.

Could you provide either the GUID in the activity or the integer in the main Opportunity query? Likewise, since something is translating the integral Opportunity ID to the Salesforce Opportunity Name, could the externalOpportunityId be exposed as a value on Opportunity-related activities? Otherwise, this data is disjointed and can only be poorly unioned together.

1 Comment
Loressa_Copelan
Level 2

Very good idea. I can see how this would be helpful in translating Marketo activity in a timelier manner, to be more efficient.