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? Jan 17, 2020 at 10:08
  • @LukasLunow the standard, the one the subscriber's switch to from the profile center. Jan 17, 2020 at 10:18
  • Do you use MC alongside Salesforce CRM? Jan 17, 2020 at 11:35
  • @DeploymentFailure no, only MC. Jan 17, 2020 at 12:04
  • Customer preference centre will be the only way to do it in that case as @LukasLunow suggested Jan 17, 2020 at 12:05

1 Answer 1


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

  • 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. Jan 17, 2020 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. Jan 17, 2020 at 14:01
  • @Gortonington Yes, I think I would take that route. Any best practice I can take a look at? Jan 17, 2020 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. Jan 17, 2020 at 14:50
  • @Gortonington sounds reasonable. I'll make sure if the client has access to FTP. Jan 17, 2020 at 14:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .