Hi there,
I'm a product manager at an events company, and we are building an integration with Marketo.
One of the use cases that we are solving for, is that once a Marketo Program is connected with out Event/Webinar, we automatically pull all the Program Member data to our database and register them in our systems.
I wanted to understand if there's a use case for deleting Program Members in Marketo and what are the scenarios where a marketer would do that.
If there are valid cases, then we will proceed to build the integration in such a way that if a Program member is deleted in Marketo, then they get automatically deleted in our events platform as well.
Any help is much appreciated.
Thanks!
Solved! Go to Solution.
I've seen several instances where a campaign was called incorrectly/triggered incorrectly, records were cloned into a program who shouldn't have been and were synced improperly, etc where records would need to be removed from the program entirely. Additionally, some may want to remove test records or employees. I agree with Sandy that this would be a functionality I would want from a platform in order to ensure the records are the same in both systems. It may come into play for email follow ups, questions around sync errors, attribution misalignment... mostly just removing the "why are these different" questions which is surprisingly common regarding any integration.
By deleting members, did you mean deleting people from the Marketo database or just removing members from the program (they still remain as person records in Marketo)?
For the former case, if you delete a person from the Marketo database altogether, you'd lose all the data, program membership, activity log, etc. from the database. Email performance reports still show the metrics of deleted people as email metrics are tied with the asset as well. Mostly marketers delete records that aren't engaging, invalid, have hit multiple hard bounces, etc. from their database.
If you meant the latter, when you remove members from a Program, they aren't accounted for in the program reporting (i.e., this action will eliminate all attribution in analytics for removed people). In case a person has filled out a form/taken action to be part of that program, most likely you wouldn't want to remove them from the program. I don't see a lot of users removing people day in and day out from their marketing programs apart from the cases where people were added to the program by mistake or cases wherein they are A-okay if a certain chunk of people would not be included in the program reporting (which practically are not many). If you want to keep the reporting data but still want to separate a chunk of members, you can add them to a dedicated program channel status like "Excluded".
I guess there would be some use cases I can think of:
After that stage I do not really see obvious scenarios, as typically there are program status values for waitlisted and rejected registrants, so they would stay in the program with that status.
Follow-up question: Is there an API or a filter in an API that returns all the deleted Program Members (deleted from Program only and not as a lead)?
I would like to fetch all the deleted members so that we can keep our database undated and in sync with Marketo.
I wanted to understand if there's a use case for deleting Program Members in Marketo
Of course.
The simplest (but my no means only) reason is a Program Member import was erroneous. This can be discovered many days after the fact.
Another is that a specific related campaign — but not all campaigns — is moved into another Program. You wouldn’t keep people around in places where they don’t belong, but that doesn’t mean you delete the entire Program.
When a Program is completely deleted, program members are also automatically deleted. You may or may not want to reflect them as being deleted in that case (i.e. are you trying to maintain an archive of the last seen members, or are you saying it’s an up-to-date reflection of Marketo?).
I wouldn’t use an integration that’s incapable of accurately reflecting Program Members (while claiming to have such data).
You might also ask “Is there any use case for removing Campaign Members from Salesforce?”
The answer is the same: not something you do every day, but when you do it, it’s a real business need and you’d expect it to be reflected in a connected system.
I've seen several instances where a campaign was called incorrectly/triggered incorrectly, records were cloned into a program who shouldn't have been and were synced improperly, etc where records would need to be removed from the program entirely. Additionally, some may want to remove test records or employees. I agree with Sandy that this would be a functionality I would want from a platform in order to ensure the records are the same in both systems. It may come into play for email follow ups, questions around sync errors, attribution misalignment... mostly just removing the "why are these different" questions which is surprisingly common regarding any integration.
I really like the way @Amanda_Reilly3 phrased this.
“Why are these different?” is a question that can take 10s or even 100s of hours to answer. Better to not have it asked!
Thanks, everyone for the replies. They were really helpful.
Follow-up question: Is there an API or a filter in an API that returns all the deleted Program Members (deleted from Program only and not as a lead)?
I would like to fetch all the deleted members so that we can keep our database undated and in sync with Marketo.
You can use Activities REST API (bulk/regular) to get the "Change Status in Progression" activity data and filter on Program Name and New Status = "Not in Program" attributes in the JSON response. For getting the activity type id, you can use the describe activity endpoint. If you're using the non-bulk regular API endpoint to retrieve the data, then you'd pagination token that can be generated using the get paging token endpoint.