Hello,
We identified a gap with Do Not Sell/Share requests and Shopify Audiences.
A third-party CMP can update a customer’s dataSaleOptOut through Shopify’s privacy APIs, but Shopify confirmed this does not automatically opt the customer out of Shopify Audiences. The merchant must manually add the customer under Audiences → Settings → Customer opt-out, and there is currently no public API to automate or verify this.
Shopify’s native Data Sharing Opt-Out page does automatically propagate the opt-out to Audiences.
From a CMP/compliance perspective, requiring merchants to manually repeat each opt-out is not a scalable or reliable workflow.
Is there any planned API or mechanism for Shopify Audiences to automatically respect dataSaleOptOut signals coming from third-party apps?
Hey @Jonida_Mersinllari - thanks for flagging this. You’re right that at the moment there’s not a public way to programmatically add or verify a customer in the Audiences opt-out list either.
Just confirming, which privacy API is your CMP using, and do you have any more context on where Shopify confirmed the two aren’t synced? That’ll help me dig into this further on our end here.
Our CMP is using Shopify’s Admin GraphQL dataSaleOptOut functionality to update the customer’s data sale/sharing opt-out status.
We raised this directly with Shopify Support after testing the flow. Support confirmed that opt-outs submitted through the API/third-party privacy app update Shopify’s customer privacy records, but do not automatically propagate to Shopify Audiences. They advised that the merchant currently needs to manually add the customer under Audiences → Settings → Customer opt-out.
They also confirmed that Shopify’s native Data Sharing Opt-Out page does automatically sync the opt-out to Audiences, which is why we’re trying to understand whether the same behavior can be made available to properly integrated third-party CMPs.
Happy to provide any additional technical details that would help you investigate.
Hey @Jonida_Mersinllari - thanks for confirming those details. I checked into this and you’re right that these are currently separate flows. The dataSaleOptOut mutation records the privacy choice, but only Shopify’s native data sharing opt-out page automatically syncs it to Shopify Audiences. Third-party privacy apps still require the customer to be added manually in Audiences, and there isn’t a public API to add or verify that opt-out today.
I definitely get that this isn’t scalable for a CMP. I’m going to pass this context along to internally and will loop back if I have anything further to share. Thanks again for flagging this.