Shopify <> Brevo sync issues

Hi everyone, does anyone use Brevo’s Shopify integration? If so, how do you find it - any reliability issues?

I set that up a couple of weeks ago, but so far, so many issues - and some serious ones that I am not sure how to resolve.

Have raised tickets with support, but we’re going back and forth for a fortnight now without any solution and it is getting frustrating. I am curios if anyone had any similar problems like us and if so, have you found any solution:

  1. Mismatched subscription status
    A brand new customer places a new order on Shopify, does not subscribe to email newsletter, but in Brevo they are subscribed to both transactional (okay) and email campaigns (!) too! This can create a big headache down the track, we have to manually check all subscribers.

  2. Missing phone number
    Currently the phone number attribute from Shopify is mapped to the SMS field in Brevo. But whatever happens, with newly registered Shopify contacts, that field is not synced. We remapped the attributes, reinstalled the integration and doubler checked everything, but the SMS/Phone does not sync.

Would love to hear your thoughts!
Charlie

Hi Charlie,

Thank you for reaching out and sharing your experience with Brevo’s Shopify integration. I appreciate your detailed description of the issues you’re facing. I understand that dealing with these challenges can be frustrating, and I’m here to help shed some light on the behavior you’re encountering.

  1. Subscription Status Discrepancies:
    Brevo’s Shopify integration operates in two main scenarios when adding or updating contacts: through the Automation tracking script and via the integration itself (webhooks/API).

    • Automation Tracking Script:
      The tracking script identifies contacts who share their email during order placement. When this script finds a new customer not existing in Brevo, they are automatically subscribed to marketing and transactional emails. Currently, there’s only one central subscription status per contact, so this can be controversial. If contacts are added to Brevo from different sources, it is advisable to maintain different lists and not address all lists at once with marketing campaigns.

      The script adds identified contacts to the identified_contacts list if it’s present. However, I strongly advise against using this list for any other purpose. It’s crucial to avoid interference between the tracker and the integration. For instance, a contact subscribed through a form (Customer A) and one added exclusively by the tracker (Customer B) will be treated differently based on the lists they’re associated with.

      When both of these contacts create an account in your Shopify store for the first time, they will be treated differently. Customer A will stay subscribed because they subscribed to a list through a different channel before, and we do not revoke the status because they did not subscribe to the new Shopify store (yet). Customer B, however, is only in one list: identified_contacts, so it is assumed they never gave explicit consent. They will be blacklisted in Brevo if they are synced into another list, « my_shopify_customers », now and did not yet consent to marketing in Shopify. That’s why the identified_contacts list should not be used for anything other than the automation tracker.

      To manage this even more transparently, consider setting up a customer-group based sync for Shopify. Syncing customers into different lists based on their consent in Shopify, such as « my_unsubscribed_sy_customers » and « my_subscribed_sy_customers », can be helpful.

I’ll address the second point in a subsequent post. I believe the automation tracker is the main source of confusion here. Feel free to ask any questions or seek clarification on these points.

To understand more about a contact in Brevo make sure to check the contact pages « History » tab. It contains info about creation and updates of the contact from different sources.

Best, Fabien

I’ve reviewed this case, and I do see room for improvement indeed.

A customer in Shopify (refer to Shopify’s API documentation here) has multiple phone attributes. One is in the main customer object, and additional ones are found in each address object within addresses.

The current integration sync maps only the main phone field and does not consider the ones inside addresses. If a phone number is added exclusively to an address and not saved for the customer itself, it remains empty in Brevo.

We acknowledge this limitation and are actively reviewing it for improvement. In the meantime, you may try adjusting the behavior in Shopify. Ensure that when a phone number is added to any address, it is also saved on the customer object if there is no value set yet. This could serve as a workaround until we implement a more comprehensive solution.

I appreciate your patience as we work on enhancing this aspect of the integration. If you have any further questions or encounter additional challenges, please don’t hesitate to reach out.

Hi Fibo,

Thanks for looking into this. Yes - this seems to be the issue.

In the meantime, you may try adjusting the behavior in Shopify. Ensure that when a phone number is added to any address, it is also saved on the customer object if there is no value set yet.

Do you have any recommendation how to do this? I checked Shopify FLow, but it doesn’t have the action « update customer ».

1 Like

We do use make.com (formerly integromat) and I just created a scenario to overcome this limitation.

1 Like

Great you found a workaround so quickly!
I’m not very familiar with Make.com but this might duplicate the update. The integrations Webhook fires and updates once main phone is updated in Shopify (step 3) and the workflow ends on update again but if it works, it works.
Shopify customisations… i’ll play with my Shop and see. Phone is mostly entered during checkout i assume… If i learn smth i’ll let you know.

Hi Fibo,

I did some testing, refined the above make.com scenario and removed the Brevo modul (so no duplicate update).

While I was testing, I noticed another discrepancy - which is more serious:

A new order came through from a customer who wasn’t in our Shopify system before. He didn’t subscriber for marketing emails at the checkout:

Screenshot 2023-12-09 at 8.03.02 pm

But when I check the customer’s email address in Brevo, this is what I see:

How is this possible that he is now subscribe to marketing emails in Brevo?

Hi, i cannot answer the question without this contacts history for context. Weather the contact was added to Brevo prior to the first order placement in Shopify and in which lists they are present at that time.
Feel free to send me an identifier of the contact per direct message. I will connect the case to what i previously explained here and in the other thread if i can.