Update Your Customers Email Marketing Status
EZ Importer can update your customers' email marketing consent while importing orders. We kept the old buyer_accepts_marketing flag (true/false) so you don't have to deal with Shopify's newer, more complex consent fields.
The Short Version
- Set buyer_accepts-marketing to true → Customer gets subscribed to marketing emails
- Set it to false → Customer gets unsubscribed (if they were previously subscribed)
- Leave it blank → No changes to consent
Important: This only works if Customer mapping is enabled in your data mapping. We update the Customer record separately after creating the Order, which results in additional API calls (see the Performance section below).
How We Map Your Data
Shopify replaced the simple true/false flag with two fields: state and opt_in_level. Since you're giving us a boolean and Shopify wants enums, we make the following assumptions:
- true - Sets the Shopify State to subscribed and the Shopify Opt-In Level to single_opt_in. Assumes they opted in without double confirmation.
- false - Sets the Shopify State to unsubscribed*, does not change the Shopify Opt-In Level. Only unsubscribe if currently subscribed. If the customer is not subscribed, we leave them alone.
*We will not change a not_subscribed customer to unsubscribed, that would imply they opted out when they never opted in.
When NOT to Use This Flag
Don't enable buyer_accepts_marketing if:
- You need to set specific opt-in levels (e.g., you have confirmed double-opt-in data)
- You're importing customers who haven't explicitly consented (GDPR/CCPA concerns)
- You're running large imports (see below)
For granular control over state and opt_in_level, use Shopify's native Customer import tool instead. We may add direct mapping for these fields in the future, but for now, this flag is a convenience wrapper, not a precision instrument.
Performance Implications
When you enable buyer_accepts_marketing, we need to make a second call to Shopify's Customer API for every Order you're importing. We used to piggyback this on the Order creation, but Shopify removed that capability.
You may not notice a difference in smaller imports, but you will see a difference when running large imports. We recommend you do not enable the buyer_accepts_marketing field on large imports. Our testing has identified noticeable slowdowns on imports of more than 10,000 orders.
If you have further questions about large imports, consult our large import documentation, or feel free to reach out to us.
App: EZ Importer
Tags: customers, getting started