Plugin for Sylius to add Mailchimp ecommerce features

Installs: 1 947

Dependents: 0

Suggesters: 0

Stars: 4

Watchers: 3

Forks: 3

Open Issues: 1




This is a Sylius Plugin that connect your store with Mailchimp to use their ecommerce features: https://mailchimp.com/en/resources/mailchimp-e-commerce.

Some of that features are:

  • Product blocks: Customizable product blocks provide you with a quick way to promote your best-selling items or showcase seasonal products in your campaign or automation email. Once you connect your store, we’ll automatically pull product images, descriptions, and prices for you.

  • Product recommendations: Product recommendations feature analyzes the previous purchase behavior of your customers and automatically suggests products they’re most likely to buy.

  • E-commerce automations: Welcome first-time customers, Reward your best customers, Send a product follow-up message, Re-engage lapsed customers.

  • Abandoned cart: Allows you to give customers the incentive they need to return to your store, so you can recapture sales and generate more revenue.

  • Order notifications: Allow you to design, send, and track all of those notifications you need to send customers—like order confirmations, invoices, shipping confirmations, refund confirmations, and cancellation confirmations—directly through your Mailchimp account.

Now supporting Sylius 1.4 with Symfony 4 + Flex structure.


You can see this plugin in action in our Sylius Demo application.


  1. Run composer require odiseoteam/sylius-mailchimp-plugin

  2. Enable the plugin in bundles.php


return [
    // ...
    Odiseo\SyliusMailchimpPlugin\OdiseoSyliusMailchimpPlugin::class => ['all' => true],
    // ...
  1. Import the plugin configurations
    - { resource: "@OdiseoSyliusMailchimpPlugin/Resources/config/config.yaml" }
  1. Add routes:
    resource: "@OdiseoSyliusMailchimpPlugin/Resources/config/routing.yaml"
    prefix: /{_locale}
        _locale: ^[a-z]{2}(?:_[A-Z]{2})?$
  1. Add the enviroment variables:
  1. Finish the installation updating the database schema and installing assets
php bin/console doctrine:schema:update --force
php bin/console sylius:theme:assets:install

If you want to use different List Id for each Sylius Channel, you need to implement the MailchimpListIdAwareInterface on your Channel entity. If you don't do that the default list id will be used.


After installing this plugin the store will be connected to Mailchimp. This mean that Mailchimp will be updated with your realtime data using differents event listeners.

Get the mailchimp service on your class

/** @var Mailchimp $mailchimp */
$mailchimp = $this->get('odiseo.mailchimp_plugin.mailchimp');

Available CLI commands to synchronize your store data with Mailchimp.

$ bin/console odiseo:mailchimp:sync-stores
$ bin/console odiseo:mailchimp:sync-customers
$ bin/console odiseo:mailchimp:sync-products
$ bin/console odiseo:mailchimp:sync-carts
$ bin/console odiseo:mailchimp:sync-orders


  • Promo codes sync.
  • Connected Sites sync.

Test the plugin

You can follow the instructions to test this plugins in the proper documentation page: Test the plugin.


This plugin is maintained by Odiseo. Want us to help you with this plugin or any Sylius project? Contact us on team@odiseo.com.ar.