Skip to Content

Klaviyo Odoo Integration: Sync Contacts, Lists and Campaigns with Odoo

What moves between Odoo and Klaviyo, how campaigns and their results run from Odoo Email Marketing, and where the integration stops.
25 September 2026 (Updated ) by
Klaviyo Odoo Integration: Sync Contacts, Lists and Campaigns with Odoo
Gops

Integration guide

A Klaviyo Odoo integration connects Odoo Email Marketing to Klaviyo, so contacts, lists, consent status, templates and campaigns stay aligned between the two, and Klaviyo campaign results come back to Odoo. The TeqStars Klaviyo Connector lets a marketing team prepare a campaign in Odoo, have Klaviyo deliver it, and read the opens and clicks in Odoo.

Odoo manages customer and marketing data. Klaviyo runs targeted email campaigns. Keep the two connected without repeatedly moving audiences, templates and campaign activity by hand.

What does a Klaviyo Odoo integration do?

It joins the place where customer data lives, Odoo, with the place where email campaigns are sent, Klaviyo. Audiences go from Odoo to Klaviyo lists, campaigns are prepared in Odoo and delivered by Klaviyo, and each campaign's received, opened, clicked and bounced events return to Odoo.

The TeqStars Klaviyo Connector connects Odoo Email Marketing with Klaviyo so teams can work with supported lists, profiles, templates, campaigns and engagement activity from a controlled Odoo workflow.

The connector supports manual actions and scheduled processing, while queues and logs keep larger synchronization jobs visible instead of turning them into a black box. You can request a demo or see the Klaviyo Connector on the Odoo Apps Store.

One connected marketing workflow

Organize the flow around the way an email marketing team actually works.

  1. Build the audience

    Import Klaviyo lists and profiles, export or update Odoo contacts, and keep supported subscription or suppression status aligned.

  2. Prepare the campaign

    Work with Klaviyo templates, select included or excluded lists and segments, configure Smart Sending, then send now or schedule the campaign.

  3. Bring activity back to Odoo

    Fetch campaign status and supported email activity so received, opened, clicked and bounced events can update Odoo mailing tracking.

Klaviyo or Odoo Email Marketing: which one sends the campaign?

Klaviyo sends it. Odoo Email Marketing is where the team picks the audience, the template, the subject and the sender, and where it reads the results afterwards. Odoo's own mailing queue leaves a Klaviyo campaign alone and refreshes its status from Klaviyo instead, so Odoo does not send it as well.

Part of the workIn Odoo Email MarketingIn Klaviyo
AudienceMailing lists and contacts, each linked to its Klaviyo list or profileLists, profiles and segments
Campaign setupLists or segments to include and exclude, template, subject, preview text, sender, Smart SendingThe campaign is created from what Odoo sends
DeliveryNot sent by OdooSent now or at the scheduled time
ResultsReceived, opened, clicked and bounced figures on the mailingReceived Email, Opened Email, Clicked Email and Bounced Email metrics

What moves between Odoo and Klaviyo?

Direction matters. Not every data type is synchronized in both directions.

Marketing DataKlaviyo to OdooOdoo to Klaviyo
ListsImport Klaviyo listsCreate or update Klaviyo lists
Profiles / ContactsImport profiles and list membership through queued processingCreate or update supported Klaviyo profiles
Subscription / Suppression StatusUpdate Odoo contact and blacklist status from KlaviyoApply supported subscribe or suppress actions from Odoo
SegmentsImport Klaviyo segmentsNo segment export. Imported segments can be selected for campaign targeting
TemplatesImport Klaviyo email templatesCreate or update supported templates in Klaviyo
CampaignsImport campaign details and statusCreate, send or schedule supported Klaviyo campaigns
Email ActivityReceived, opened, clicked and bounced activityNot an outbound synchronization flow

Klaviyo lists become Odoo mailing lists

Each imported Klaviyo list is an Odoo mailing list, with its single or double opt-in setting from Klaviyo and its counts of contacts, subscribers, unsubscribers and cleaned contacts.

Keep audience data useful on both sides

Klaviyo profiles can be fetched from selected lists and processed into Odoo mailing contacts. The connector stores Klaviyo profile references so later updates can target the linked record instead of creating a new profile every time.

For Odoo to Klaviyo exports, a list can be configured to automatically export matching contacts. A domain filter controls which Odoo contacts qualify for that audience, so the scheduled action does not need to send every contact in the database. Each list chooses whether it exports Odoo contacts or mailing contacts, and Check Remaining shows how many still wait to be exported.

Merge-field mappings can carry supported profile information such as name, phone and location fields according to the configuration. Contacts are matched by email address, so a profile that already exists is updated rather than duplicated.

Optional Odoo customer creation

When enabled, imported Klaviyo profiles can create or update related Odoo contacts using the connector's configured mapping and email matching logic.

Subscription and suppression awareness

Klaviyo subscription information can update Odoo mailing status and blacklist records. Supported Odoo-side changes can also trigger Klaviyo subscribe or suppress operations.

Contact changes follow automatically

With Auto Update Contact in Klaviyo switched on, editing a mapped field of an Odoo contact, such as the name, email or address, updates the Klaviyo profile on its own.

Run Klaviyo campaign workflows from Odoo

Use Odoo Email Marketing as the working surface while Klaviyo handles the campaign delivery.

  1. Choose the audience

    Select included and excluded Klaviyo lists or imported segments.

  2. Set the template and the sender

    Use a Klaviyo template and configure the campaign subject, preview text and sender details.

  3. Send or schedule

    Enable Smart Sending when required, then send immediately or schedule the campaign for later.

  4. Read the results in Odoo

    Fetch campaign status and supported engagement activity back into Odoo.

Klaviyo receives a campaign once

When a campaign is sent from Odoo, Klaviyo creates it and sends it. Later edits to that mailing in Odoo are not sent to Klaviyo, so check the subject, audience and template before you press Send.

Scheduled work without hiding the process

Five scheduled actions keep audiences, campaigns and their results current. How often each runs is set in Scheduled Actions.

WorkScheduled actionWhat it does
Audience refreshFetch Klaviyo AudienceA scheduled action can fetch Klaviyo profiles that joined the configured lists since the last run, when Auto Sync Member is on.
Campaign detailFetch Campaigns Detail From KlaviyoCampaign status can be refreshed in the background.
Campaign activityFetch Campaigns Reports From KlaviyoSupported email events can be fetched on a recurring schedule.
Automatic contact exportAuto Export Contact to Klaviyo ListSelected lists can use a scheduled action to export Odoo contacts that match the configured domain.
Queue processingProcess Queue Jobs (Klaviyo)Works through the queued contact imports and campaign activity.

Queue based processing for larger updates

Contact imports and campaign activity processing use queue records so API responses can be staged and processed in manageable jobs.

The included queue processor runs as a scheduled action. Queue items can also be processed manually when required.

  • 100Klaviyo profiles read per request during an import
  • 5scheduled actions for audiences, campaigns, reports, exports and the queue
  • 2 monthsbefore old queue records and logs are cleaned up automatically

Bring key Klaviyo email activity into Odoo

The connector reads the Klaviyo metrics used for campaign reporting and processes related events into Odoo mailing tracking.

Clicked events can also record the related URL so marketing users can review which links received engagement.

Klaviyo metricWhat it shows in Odoo
Received EmailThe contact received the campaign
Opened EmailThe contact opened it
Clicked EmailThe link the contact clicked, in the campaign's link tracking
Bounced EmailThe email bounced

The Import Metrics button on the Klaviyo account picks these four metrics for reporting. Reports start from the Last Campaign Report Imported Date set on the account.

Set up the connection around your marketing process

Have these ready before the first import:

  • Odoo 16.0 to 20.0, Community or Enterprise, on Odoo.sh or on-premise: Odoo Online cannot install third-party apps
  • The Odoo Email Marketing app, where lists, contacts and campaigns live
  • A Klaviyo private API key with full access, created in your Klaviyo account
  • One Klaviyo account for the Odoo database: a second account cannot be added
  1. Connect the account

    Add the Klaviyo API key and confirm the account connection in Odoo.

  2. Fetch what the workflow needs

    Fetch the Klaviyo lists, segments, templates and campaigns needed by the Odoo workflow.

  3. Map the profile fields

    Define profile merge-field mappings and decide whether Klaviyo profiles should create or update Odoo contacts.

  4. Choose the automatic lists

    Choose which lists should refresh audiences or automatically export matching Odoo contacts.

Where the Klaviyo Odoo integration fits, and where it stops

A good fit when

  • Contacts and customer data are kept in Odoo, and email campaigns go out through Klaviyo.
  • The marketing team wants to plan campaigns in Odoo Email Marketing.
  • Opens, clicks and bounces should be visible on the campaign in Odoo.
  • Unsubscribes and blacklisted addresses must stay in step in both systems.

Look at it again when

  • Klaviyo flows need Odoo order, checkout or website events: none are sent.
  • SMS campaigns or SMS consent must sync: the connector covers email only.
  • Several Klaviyo accounts must connect to one Odoo database.
  • Segment members must be copied into Odoo: segments arrive as audiences to target, without their members.

Frequently asked questions

Does Klaviyo integrate with Odoo?

Not out of the box: neither Odoo nor Klaviyo ships a connector for the other. An Odoo app such as the TeqStars Klaviyo Connector adds it, linking Odoo Email Marketing with Klaviyo for contacts, lists, consent, templates, campaigns and campaign results.

Can Odoo contacts be synchronized with Klaviyo?

Yes. Supported Odoo mailing contacts can be created or updated as Klaviyo profiles, and Klaviyo profiles can be imported into Odoo. The exact profile fields depend on the configured merge-field mappings.

Can Klaviyo segments be exported from Odoo?

No. In this connector, segments are imported from Klaviyo into Odoo. Those imported segments can then be selected as included or excluded audiences when working with a Klaviyo campaign in Odoo.

Can I send or schedule a Klaviyo campaign from Odoo?

Yes. Supported campaigns can be prepared in Odoo with Klaviyo lists or segments, a Klaviyo template, sender details and Smart Sending. The campaign can then be sent immediately or scheduled.

Are opens, clicks and bounces visible in Odoo?

Supported Klaviyo activity includes received, opened, clicked and bounced email events. These events are processed into Odoo mailing tracking, and clicked URLs can be recorded for click reporting.

Can Klaviyo contacts create Odoo customers?

Yes, when the optional setting is enabled. The connector can create or update related Odoo contacts from imported Klaviyo profile data using email matching and the configured field mappings.

Does this connector synchronize Odoo sales orders with Klaviyo?

No sales-order synchronization is implemented in this module build. Its verified scope focuses on marketing data such as contacts, audiences, templates, campaigns and email activity.

Does it work with Klaviyo flows or SMS?

No. The connector works with Klaviyo email campaigns: it imports and sends email campaigns, and handles email subscription and suppression. It does not create Klaviyo flows, send website or order events that would trigger them, or sync SMS campaigns and SMS consent.

Can multiple Klaviyo accounts be configured in the same Odoo database?

No. The current module enforces a single Klaviyo account configuration per Odoo database.

Share this post