Klaviyo
Klaviyo order tracking, newsletters, and SMS subscriptions
Medusa Klaviyo Plugin
Medusa v2 plugin for Klaviyo order event tracking, newsletter subscriptions, SMS list subscriptions, and an admin settings page.
Install in a Medusa app
12345678910111213141516// medusa-config.tsimport { defineConfig } from "@medusajs/framework/utils"export default defineConfig({plugins: [{resolve: "@oak-digital/medusa-plugin-klaviyo",options: {apiKey: process.env.KLAVIYO_API_KEY,orderReference: {field: "display_id",},},},],})
Copy to clipboardorderReference is optional. By default the plugin sends Copy to clipboardorder_id: order.display_id.
If a specific Medusa app wants raw Medusa ids instead:
123456789{resolve: "@oak-digital/medusa-plugin-klaviyo",options: {apiKey: process.env.KLAVIYO_API_KEY,orderReference: {field: "id",},},}
You can also override both the property name and the value resolver:
12345678910{resolve: "@oak-digital/medusa-plugin-klaviyo",options: {apiKey: process.env.KLAVIYO_API_KEY,orderReference: {propertyName: "medusa_order_ref",resolveValue: (order) => order.id,},},}
Set Copy to clipboardKLAVIYO_API_KEY in the Medusa app environment, then run migrations:
1npx medusa db:migrate
The admin settings page is available at Copy to clipboard/app/klaviyo in the Medusa Admin dashboard.
Local development
1234pnpm installnpx medusa plugin:db:generatenpx medusa plugin:publishpnpm dev
Install the locally published package in a Medusa app:
1npx medusa plugin:add @oak-digital/medusa-plugin-klaviyo
Build
1pnpm build

