# mailchimp/mc-magento2

> Connect MailChimp with Magento

`composer require mailchimp/mc-magento2`

Canonical URL: https://packagento.com/mailchimp/mc-magento2

## At a glance

- **Vendor**: mailchimp (https://packagento.com/mailchimp.md)
- **Latest version**: 103.4.78 — released 2026-03-24
- **Pricing**: Free
- **Package type**: Magento 2 module
- **Status**: active, accepting new buyers

## Installation

Packagento is licence-gated, so even free packages need a licence on a project before Composer can resolve them.

1. **Sign in or create an account** at https://packagento.com/customer/account/.

2. **Add the package to your account.** Open https://packagento.com/mailchimp/mc-magento2 and complete the free checkout. A licence is minted automatically.

3. **Create or pick a project, then activate the licence on it.**
   - Projects represent the Magento installs you deploy to. Manage them at https://packagento.com/projects/.
   - Activate the new licence on the project you'll deploy this package to. Activation is what generates the Composer credentials scoped to that project.

4. **Add the project credentials to your Magento codebase.**

   Grab the project's public + private key from https://packagento.com/projects/ (open the project, then its Credentials tab), and add them to `auth.json`:

   ```json
   {
     "http-basic": {
       "packagento.com": {
         "username": "ppk_live_...",
         "password": "psk_live_..."
       }
     }
   }
   ```

   Add the Packagento Composer repository to `composer.json`:

   ```json
   {
     "repositories": [
       { "type": "composer", "url": "https://packagento.com" }
     ]
   }
   ```

5. **Install and apply.**

   ```bash
   composer require mailchimp/mc-magento2:*
   bin/magento setup:upgrade
   bin/magento setup:di:compile
   bin/magento cache:flush
   ```

## What it does

Connect MailChimp with Magento

## README

<h3>Labels applied by the team</h3>

| Label        | Description           |
| ------------- |-------------|
| ![bug](https://s3.amazonaws.com/ebizmartsgithubimages/bug.png) | Bug report contains sufficient information to reproduce. Will be solved for associated Milestone.|
| ![enhancement](https://s3.amazonaws.com/ebizmartsgithubimages/enhancement.png) | Improvement accepted. Will be added for associated Milestone.|
| ![done](https://s3.amazonaws.com/ebizmartsgithubimages/done.png) | Issue has been solved and will be applied in the associated Milestone. |
| ![duplicate](https://s3.amazonaws.com/ebizmartsgithubimages/duplicate.png) | Issue has been already reported and will be closed with no further action. |
| ![wrong issue format](https://s3.amazonaws.com/ebizmartsgithubimages/wrongissueformat.png) | Issue has not been created according to requirements at the [Issue reporting guidelines](https://github.com/mailchimp/mc-magento2/wiki/Issue-reporting-guidelines). Will be closed until requirements are met. |
| ![feature request](https://s3.amazonaws.com/ebizmartsgithubimages/featurerequest.png) | Feature request to be considered by the team. After approval will be labeled as enhancement. |
| ![could not replicate](https://s3.amazonaws.com/ebizmartsgithubimages/couldnotreplicate.png) | The team was not able to replicate issue. It will be closed until missing information is given. |
| ![contact support](https://s3.amazonaws.com/ebizmartsgithubimages/contactsupport.png) | Contact our support team at mailchimp@ebizmarts-desk.zendesk.com. Issue will be closed with no further action. |
| ![low priority](https://s3.amazonaws.com/ebizmartsgithubimages/lowpriority.png) | Issue is considered as low priority by the team. |
| ![priority](https://s3.amazonaws.com/ebizmartsgithubimages/priority.png) | Issue is considered as high priority by the team. |
| ![conflict](https://s3.amazonaws.com/ebizmartsgithubimages/conflict.png) | Issue reports a conflict with other third party extension. |
| ![need feedback](https://s3.amazonaws.com/ebizmartsgithubimages/needfeedback.png) | Feedback is required to continue working on the issue. If there is no answer after a week it will be closed. |
| ![blocked](https://s3.amazonaws.com/ebizmartsgithubimages/blocked.png) | Issue can not be solved due to external causes. |
| ![read documentation](https://s3.amazonaws.com/ebizmartsgithubimages/readdocumentation.png) | Issue will be closed. Available documentation: [MailChimp For Magento doc](https://kb.mailchimp.com/integrations/e-commerce/connect-or-disconnect-mailchimp-for-magento-2)|




## Issue reporting guidelines

To maintain an effective bugfix workflow and make sure issues will be solved in a timely manner we kindly ask reporters to follow some simple guidelines.

Before creating an issue, please do the following:

* Check the [documentation](https://kb.mailchimp.com/integrations/e-commerce/connect-or-disconnect-mailchimp-for-magento-2) to make sure the behavior you are reporting is really a bug, not a feature.
* Check the existing [issues](https://github.com/mailchimp/mc-magento2/issues) to make sure you are not duplicating somebody’s work.
* Make sure, that information you are about to report is a technical issue, please refer to the [Community Forums](http://ebizmarts.com/mailchimp-for-magento-support)  for technical questions.

If you are sure that the problem you are experiencing is caused by a bug, file a new issue in a Github issue tracker following the recommendations below.

### Title

Title is a vital part of bug report for developer and triager to quickly identify a unique issue. A well written title should contain a clear, brief explanation of the issue, making emphasis on the most important points.

Good example would be:

> Unable to place order with Virtual product and PayPal.

Unclear example:

> Can't checkout.

### Issue Description

#### Preconditions

Describing preconditions is a great start, provide information on system configuration settings you have changed, detailed information on entities created (Products, Customers, etc), Magento and mc-magento versions. Basically, everything that would help developer set up the same environment as you have.

Example:

    1. Magento CE 2.0.1 without sample data is installed.
    2. mc-magento 1.0.6.
    3. Test category is set up.
    4. Virtual Product is created and assigned to the Test Category.
    ...

#### Steps to reproduce

This part of the bug report is the most important, as developer will use this information to reproduce the issue. Problem is more likely to be fixed if it can be reproduced.

Precisely describe each step you have taken to reproduce the issue. Try to include as much information as possible, sometimes even minor differences can be crucial.

Example:

    1. Navigate to storefront as a guest.
    2. Open Test Category.
    3. Click "Add to Cart" on the Virtual Product.
    4. Open mini shopping cart and click "Proceed to Checkout".
    ...

#### Actual and Expected result

To make sure that everybody involved in the fix are on the same page, precisely describe the result you expected to get and the result you actually observed after performing the steps.

Example:

    Expected result:
    Order is placed successfully, customer is redirected to the success page.
    Actual result:
    "Place order" button is not visible, order cannot be placed.

#### Additional information

Additional information is often requested when the bug report is processed, you can save time by providing Magento and browser logs, screenshots, any other artifacts related to the issue at your own judgement.

### Pull requests

Before creating a pull request please make sure to follow this [guidelines](https://github.com/mailchimp/mc-magento2/wiki/Pull-Request-guideliness) or it will be rejected.

## Changelog

### [103.4.78](https://github.com/mailchimp/mc-magento2/tree/103.4.78)

[Full Changelog](https://github.com/mailchimp/mc-magento2/compare/103.4.77...103.4.78)

**Fixed bugs:**

- Error when delete the current mailchimp store and access the configuration [\#2268](https://github.com/mailchimp/mc-magento2/issues/2268)
- New order/cart send product as new [\#2262](https://github.com/mailchimp/mc-magento2/issues/2262)
- Products permanently stuck in SYNCERROR or NEEDTORESYNC [\#2256](https://github.com/mailchimp/mc-magento2/issues/2256)
- Array to string conversion warning [\#2250](https://github.com/mailchimp/mc-magento2/issues/2250)

### [103.4.77](https://github.com/mailchimp/mc-magento2/tree/103.4.77)

[Full Changelog](https://github.com/mailchimp/mc-magento2/compare/103.4.76...103.4.77)

**Implemented enhancements:**

- Send an event every time visit an abandoned cart [\#2233](https://github.com/mailchimp/mc-magento2/issues/2233)

**Fixed bugs:**

- Ebizmarts\MailChimp\Model\Api\Product.php can break during iteration [\#2239](https://github.com/mailchimp/mc-magento2/issues/2239)
- Incorrect DATETIME value: '' [\#2227](https://github.com/mailchimp/mc-magento2/issues/2227)

### [103.4.76](https://github.com/mailchimp/mc-magento2/tree/103.4.76)

[Full Changelog](https://github.com/mailchimp/mc-magento2/compare/103.4.75...103.4.76)

**Implemented enhancements:**

- Feature Request: Store customers email in logs for abandoned baskets. [\#2084](https://github.com/mailchimp/mc-magento2/issues/2084)

**Fixed bugs:**

- Error cleaning the mailchimp\_statistics table [\#2210](https://github.com/mailchimp/mc-magento2/issues/2210)

### [103.4.75](https://github.com/mailchimp/mc-magento2/tree/103.4.75)

[Full Changelog](https://github.com/mailchimp/mc-magento2/compare/103.4.74...103.4.75)

**Implemented enhancements:**

- Add total amount of subscribers to the registration [\#2199](https://github.com/mailchimp/mc-magento2/issues/2199)
- Add data to the registration [\#2192](https://github.com/mailchimp/mc-magento2/issues/2192)

### [103.4.74](https://github.com/mailchimp/mc-magento2/tree/103.4.74)

[Full Changelog](https://github.com/mailchimp/mc-magento2/compare/103.4.73...103.4.74)

**Implemented enhancements:**

- Add flag to sync not salable products [\#2181](https://github.com/mailchimp/mc-magento2/issues/2181)

*Fixed bugs:**

- Patches are not removed after the module uninstallation [\#2170](https://github.com/mailchimp/mc-magento2/pull/2170)
- Add config checking in afterLoadByCustomer [\#2168](https://github.com/mailchimp/mc-magento2/pull/2168)

### [103.4.73](https://github.com/mailchimp/mc-magento2/tree/103.4.73)

[Full Changelog](https://github.com/mailchimp/mc-magento2/compare/103.4.72...103.4.73)

**Implemented enhancements:**

- Change the way that the statistics are synced [\#2167](https://github.com/mailchimp/mc-magento2/issues/2167)

### [103.4.72](https://github.com/mailchimp/mc-magento2/tree/103.4.72)

[Full Changelog](https://github.com/mailchimp/mc-magento2/compare/103.4.71...103.4.72)

**Implemented enhancements:**

- Add support for grouped products [\#2156](https://github.com/mailchimp/mc-magento2/issues/2156)

### [103.4.71](https://github.com/mailchimp/mc-magento2/tree/103.4.71)

[Full Changelog](https://github.com/mailchimp/mc-magento2/compare/103.4.70...103.4.71)

**Implemented enhancements:**

- Add the bundle product itself to the lines of the cart [\#2142](https://github.com/mailchimp/mc-magento2/issues/2142)
- Add the bundle product itself to the lines of the order [\#2136](https://github.com/mailchimp/mc-magento2/issues/2136)


### [103.4.70](https://github.com/mailchimp/mc-magento2/tree/103.4.70)

[Full Changelog](https://github.com/mailchimp/mc-magento2/compare/103.4.69...103.4.70)

**Implemented enhancements:**

_(Changelog truncated for .md surface. Full history on https://packagento.com/mailchimp/mc-magento2.)_

## Recent Versions

| Version | Released |
|---|---|
| 103.4.78 | 2026-03-24 |
| 102.3.78-p1 | 2026-03-23 |
| 102.3.78 | 2026-03-23 |
| 101.2.78 | 2026-03-23 |
| 100.1.78 | 2026-03-23 |
| 103.4.77 | 2026-02-02 |
| 102.3.77-p1 | 2026-02-02 |
| 102.3.77 | 2026-02-02 |
| 101.2.77 | 2026-02-02 |
| 100.1.77 | 2026-02-02 |

Showing 10 of 232 versions. Full release history on https://packagento.com/mailchimp/mc-magento2.

## Dependencies

### Require

| Package | Constraint |
|---|---|
| ebizmarts/mailchimp-lib | >=3.0.44 |
| ext-json | * |
| magento/framework | 103.0.* |

## Quality

Latest release (103.4.78) fails the Packagento QA pipeline. Verdicts below are per-cell (Magento line × PHP version) for the matrixed tools, and run-once for the static / security tiers.


### Compatibility

Each Magento line is installed on its supported PHP versions, then the module is built (DI compile + static-content deploy). Cells show passed / failed / untested; staircase gaps render as `–`.

| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | Pass | Pass | – | – |
| 2.4.8 | – | Pass | Pass | – |
| 2.4.9 | – | – | Pass | Pass |


### Code Quality

Advisory checks against the module's source. Never affect the Compatibility verdict — a phpcs finding can't make a module incompatible.

#### Static Analysis

Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.

| Tool | Status | Findings | Summary |
|---|---|---|---|
| PHPCS | Warning | 649 | 649 warnings (ruleset: Magento2) — 233 auto-fixable with phpcbf |
| PHPMD | Warning | 158 | 158 rule violations (UnusedFormalParameter:36, UnusedLocalVariable:35, CyclomaticComplexity:24, NPathComplexity:14, UndefinedVariable:12) |
| Cpd | Warning | 8 | 8 duplicated chunks spanning 254 total lines (min-lines=5, min-tokens=70) |
| Composer validate | Info | 2 | valid; 2 advisory notes (composer validate --strict) |

#### PHPStan

Type-checks the module against a real Magento install. Re-runs per Magento + PHP version because resolvable symbols differ between releases.

| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | 274 | 274 | – | – |
| 2.4.8 | – | 275 | 275 | – |
| 2.4.9 | – | – | 272 | 272 |


### Tests

Unit and integration suites run per Magento + PHP cell. Test failures speak to the module's behaviour, not its compatibility with a line, so they're reported here separately.

#### Unit Tests

| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | – | – |
| 2.4.8 | – | N/A | N/A | – |
| 2.4.9 | – | – | N/A | N/A |

#### Integration Tests

| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | – | – |
| 2.4.8 | – | N/A | N/A | – |
| 2.4.9 | – | – | N/A | N/A |


### Security

Dependency-advisory audit (composer audit) plus a source malware scan. A malware detection fails the version outright.

| Tool | Status | Findings | Summary |
|---|---|---|---|
| Composer audit | Pass | 0 |  |
| Malware scan | Pass | 0 |  |

## Licence and pricing

Free. A licence is still minted on checkout and bound to your project for Composer access — no payment step.

Refundable within 14 days of first purchase via https://packagento.com/account/refunds/.

## Install via Claude Code or any MCP client

The Packagento MCP server can run the licence + project + Composer steps above in one tool call:

```
purchase_and_install_packages(
  composer_names=["mailchimp/mc-magento2"],
  project_id="proj_xxx"
)
```

This handles cart, checkout, licence minting, project activation, and writes auth.json credentials. Connect a client with `claude mcp add packagento https://mcp.packagento.com`. Full setup at https://packagento.com/docs/mcp-setup.

## Vendor

mailchimp is a Magento 2 vendor on Packagento. See https://packagento.com/mailchimp.md for their full catalogue.

