Skip to main content
Solved

Prestashop sync not working

  • May 27, 2026
  • 2 replies
  • 26 views

Forum|alt.badge.img

I am a new system admin working on restoring a dormant website. We have access to the old Klaviyo account, and I am getting it connected back up.

We are using Prestashop 8.2 on PHP 8.1. 

I have the Klaviyo module set up, and a current version of the PS newsletter subscription module (v2.8.3 - b). I cannot get any sync to work - either for user accounts or newsletter subscribes.

It can retrieve a list of lists from Klaviyo (so the api key works) and for testing purposes I am using “Newsletter”, which is pretty empty.

On the Klavyo side I installed “Prestashop” from the app marketplace andput the websiervice ID in. It can retrieve my store name so that seems right as well.
 
Not on multi-store. Store ID=1,lang=1.
In maintenance mode, but I believe the webservice is still exposed. 
Using Cloudflare.

We are on a ‘free’ account until I can be sure this is going to work, at which point I will trim the subscriber lists to remove dupes and purchase a subscription.  Disappointed there aren't any logs - how do I see what is happening?

Just concentrating on email at the moment, not the other features or product upload.

Does anyone have Prestashop sync working?

Best answer by Temi O.

Hi ​@Multuplicit , 

Welcome to the community, and thanks for the detailed description!

Your PrestaShop 8.2 on PHP 8.1 is fully supported, and module version 1.12.x is the correct match. You can verify your version on the PrestaShop Addons Marketplace page.

Cloudflare is almost certainly your main issue. Klaviyo's integration makes server-side requests to your PrestaShop webservice, and Cloudflare often blocks these as bot traffic — which explains why your API key validates but data sync fails.

To fix this, allowlist Klaviyo's integration IPs in Cloudflare (Security > WAF > Tools > IP Access Rules). You'll need to add all 16 individual /24 ranges (207.211.192.0/24 through 207.211.207.0/24) since Cloudflare doesn't accept /20 CIDR ranges. Also disable Bot Fight Mode under Security > Bots. Full instructions and IP list: https://help.klaviyo.com/hc/en-us/articles/19143781289115

Once Cloudflare is sorted, verify these subscriber sync settings:

  • "Sync PrestaShop email subscribers to Klaviyo" is enabled in the module
  • Your Private API Key is a Full Access key (not restricted) — regenerate one under Klaviyo > Settings > API Keys if unsure
  • Double opt-in is disabled in the PrestaShop Newsletter Subscription module (it bypasses the hook Klaviyo uses to capture subscriptions — you can enable DOI on the Klaviyo list itself instead)
  • A specific Klaviyo list is selected and saved as the sync destination

For visibility into what's happening, check Klaviyo > Settings > Developer Tools > Logs for 403 errors, which would confirm Cloudflare is blocking sync requests. Also check the Data tab under Integrations > PrestaShop.

One more thing — you mentioned maintenance mode is on. PrestaShop's webservice should still be accessible, but it's worth temporarily disabling it during testing to rule it out as a variable alongside Cloudflare.

Official setup guide for reference: https://help.klaviyo.com/hc/en-us/articles/360054551492

Hope this gets you moving — let us know what you find in the logs!

2 replies

Temi O.
Community Manager
Forum|alt.badge.img
  • Community Manager
  • Answer
  • May 28, 2026

Hi ​@Multuplicit , 

Welcome to the community, and thanks for the detailed description!

Your PrestaShop 8.2 on PHP 8.1 is fully supported, and module version 1.12.x is the correct match. You can verify your version on the PrestaShop Addons Marketplace page.

Cloudflare is almost certainly your main issue. Klaviyo's integration makes server-side requests to your PrestaShop webservice, and Cloudflare often blocks these as bot traffic — which explains why your API key validates but data sync fails.

To fix this, allowlist Klaviyo's integration IPs in Cloudflare (Security > WAF > Tools > IP Access Rules). You'll need to add all 16 individual /24 ranges (207.211.192.0/24 through 207.211.207.0/24) since Cloudflare doesn't accept /20 CIDR ranges. Also disable Bot Fight Mode under Security > Bots. Full instructions and IP list: https://help.klaviyo.com/hc/en-us/articles/19143781289115

Once Cloudflare is sorted, verify these subscriber sync settings:

  • "Sync PrestaShop email subscribers to Klaviyo" is enabled in the module
  • Your Private API Key is a Full Access key (not restricted) — regenerate one under Klaviyo > Settings > API Keys if unsure
  • Double opt-in is disabled in the PrestaShop Newsletter Subscription module (it bypasses the hook Klaviyo uses to capture subscriptions — you can enable DOI on the Klaviyo list itself instead)
  • A specific Klaviyo list is selected and saved as the sync destination

For visibility into what's happening, check Klaviyo > Settings > Developer Tools > Logs for 403 errors, which would confirm Cloudflare is blocking sync requests. Also check the Data tab under Integrations > PrestaShop.

One more thing — you mentioned maintenance mode is on. PrestaShop's webservice should still be accessible, but it's worth temporarily disabling it during testing to rule it out as a variable alongside Cloudflare.

Official setup guide for reference: https://help.klaviyo.com/hc/en-us/articles/360054551492

Hope this gets you moving — let us know what you find in the logs!


Forum|alt.badge.img
  • Author
  • Contributor I
  • May 29, 2026

Thanks so much for taking the time to reply so comprehensively.

Very relieved to see there are logs - I can clearly see all the 403 requests, so it is indeed being blocked. Requests to “client” get blocked (403), while to “api” are successful. So webservice and API are just being treated a little differently. 

I was testing in cloudflare dev mode, but I have put the proper “skip” rules in now. That hasn’t quite worked yet, but perhaps coming out of maintenance mode will help. I can’t quite do that just yet - we have a large community waiting to see the site and they would find it in a heartbeat.

Many Thanks,
Steve