FrancodesystemsFran<code>systems
MarketingCustom integration

Holded Mailchimp integration

Mailchimp lists synced with Holded customers, no Excel and no manual exports.

HoldedHolded
Mailchimp

Implementation time · 3-5 días laborables

Diagnosis

The problem

Marketing uses Mailchimp with lists that were uploaded via CSV 8 months ago. Meanwhile, sales has closed 40 new customers in Holded who never made it into Mailchimp. And the ones who unsubscribed in Mailchimp still show up as active recipients in Holded. The result: campaigns sent to contacts who are already inactive (which hurts deliverability), new customers who never get onboarding, qualified prospects lost in the void because marketing and the CRM do not talk to each other. And all of this under full GDPR compliance: an unsubscribe in Mailchimp has legal implications in Holded that are not being propagated.

Proposal

The solution

Your Mailchimp audiences always reflect the reality in Holded: active customers, former customers, prospects, contacts who explicitly opted out. Every change (new customer, tag change, unsubscribe) is synced in real time. Supports multiple audiences, segmentation by Holded tags (industry, size, vertical) and automated triggers (invoice issued to transactional email). GDPR compliant: we only move data with explicit consent and everything is audited.

Scope

What we automate

  • New Holded contact to the matching Mailchimp audience with tags
  • Status change (lead, active customer, churned) to a tag/segment change in Mailchimp
  • Mailchimp unsubscribe to a GDPR flag in Holded to stop sending communication
  • Purchase/invoice in Holded to a Mailchimp transactional trigger (onboarding, thank-you, upsell)
  • Advanced segmentation: Holded customers with an invoice above X euros to a VIP Mailchimp audience
  • Hard bounce in Mailchimp to an invalid-email flag in Holded
  • Multi-audience: Holded as the single source, Mailchimp audiences by vertical or product
  • Traced GDPR consents: when it was obtained, how, through which channel
Who uses it

Real use cases

These are the profiles that most ask us for the HoldedMailchimp integration and what they get in the end.

Case 01

B2B SaaS with email onboarding after signup

Before: A new customer in Holded did not get the onboarding sequence because the CSM was not adding them to Mailchimp.

After: Holded signup to Mailchimp onboarding audience automatically. A 7-email sequence fires on its own.

Case 02

Ecommerce with segmentation by customer value

Before: VIPs (customers above 5,000 euros per year) received the same campaigns as occasional buyers.

After: VIP Mailchimp segment updated automatically from Holded. Exclusive campaigns become possible.

Case 03

Company with serious GDPR concerns

Before: Unsubscribes in Mailchimp were not reflected in Holded. Risk of sending communication to someone who said no.

After: Mailchimp unsubscribe to a blocking flag in Holded. Full GDPR audit kept up to date.

Before / After

What changes exactly

Without the integration

  • Mailchimp lists stale since the last CSV
  • New customers with no automated onboarding
  • GDPR opt-outs not propagated across systems
  • Manual, lazy segmentation

With the integration

  • Mailchimp audiences in permanent sync
  • Onboarding triggered automatically
  • GDPR traced and consistent
  • Dynamic segmentation from real Holded data
Architecture

How we build it

Mailchimp webhooks (subscribe, unsubscribe, profile update, cleaned) plus Holded webhooks (contact created/updated) into a persisted queue. Idempotent worker with dedupe by email plus timestamp. Calls to the Mailchimp Marketing API and the Transactional API (Mandrill) depending on the case. All the mapping logic (which Holded contact tag maps to which Mailchimp segment) lives in versioned config. GDPR traceability: every consent propagation is audited with a timestamp and its source.

flow.ts
webhook mailchimp.event
queue.enqueue(jobId)
worker.handle() // idempotent
holded.api.call() // retries with backoff
log.emit({ status: 'ok' })
FAQ

Frequently asked questions

What about GDPR?

We only move data with explicit consent. Every propagation is audited with a timestamp, the source of the consent and the channel. Opt-outs (unsubscribe, right to be forgotten) are propagated in both directions so no system keeps data without a legal basis.

Does it support multiple Mailchimp audiences?

Yes. The usual setup: one audience per brand/vertical in Mailchimp, all unified in Holded. We map each Holded contact to its audience(s) based on tags or segments.

Does it work with Mailchimp Transactional (Mandrill)?

Yes. For transactional email (invoices, reminders, onboarding) we use Mandrill. It is a better fit than Mailchimp's bulk sending for these 1-to-1 volumes.

How does the first sync work?

An initial bulk sync with a dry-run that reports discrepancies. You validate what is going to happen before it runs. After that, incremental sync in real time.

Does it support custom merge fields?

Yes. Any custom Holded field can be mapped to a Mailchimp merge field for advanced personalization in campaigns (name, sector, last product purchased, etc.).

How long does it take?

Between 3 and 5 business days. If you have many audiences and complex segmentation rules, it can rise to 6-8.

Shall we talk about your Mailchimp integration?

A 30-minute call, no strings. You leave with scope and a price.