Our client would like to manage their opt-outs and -ins in a real-time manner and apply them in their customer database via an API call (most probably REST).

So as soon as a subscription status changes on a subscriber's Subscription Center, we would like to inform the API. There are currently no Publication Lists and subscribers simply opt in and out of communication.

How, in the Marketing Cloud, can we trigger an event as soon as a subscription changes?

  • Are you using standard or custom subscription center? – Lukas Lunow Jan 17 at 10:08
  • @LukasLunow the standard, the one the subscriber's switch to from the profile center. – Disasterkid Jan 17 at 10:18
  • Do you use MC alongside Salesforce CRM? – Deployment Failure Jan 17 at 11:35
  • @DeploymentFailure no, only MC. – Disasterkid Jan 17 at 12:04
  • Customer preference centre will be the only way to do it in that case as @LukasLunow suggested – Deployment Failure Jan 17 at 12:05

This is indeed not possible, as you can't invoke real time events based on changes to subscriber status. Also, you have very limited possibilities of customising the standard Subscription Center to provide the ability to perform any API related activities.

Hence, the best solution would be either to build the preference center within the system holding this database, or create a Cloud Page which using HTTPPost2 function, could send a payload to the API endpoint of this database, updating the status there. The same Cloud Page should also change the status in SFMC All Subscribers list. This can be accomplished by approach similar as outlined in this thread: Not able to update Subscriber Status using Ampscript

|improve this answer|||||
  • I am quite sure your suggested solution is correct. Unfortunately here there is a lack of budget for developing a cloud page having no peer-review and test resources at hand. I am wondering if it's somehow better to go from real-time to e.g. every-ten-minutes, retrieve the subscribers from All Subscribers who have changed their status and triggering the API call for each change. If you think is possible, I will be thankful to have your input. – Disasterkid Jan 17 at 12:41
  • @Disasterkid - yes, setting up an automation to run and collect status to then push to your 3rd party system would be the easiest route if immediate notification is not necessary. It is actually the preferred method when possible due to its efficiency and simplicity. – Gortonington Jan 17 at 14:01
  • @Gortonington Yes, I think I would take that route. Any best practice I can take a look at? – Disasterkid Jan 17 at 14:46
  • if possible utilize a file drop to your 3rd party system. I also would look to limit the file size as much as possible. e.g. use a query to only pull the most recent values, etc. – Gortonington Jan 17 at 14:50
  • @Gortonington sounds reasonable. I'll make sure if the client has access to FTP. – Disasterkid Jan 17 at 14:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.