@oak-digital/medusa-plugin-klaviyo
v1.0.3
Published
Medusa v2 plugin for Klaviyo event tracking and subscriptions.
Readme
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
// medusa-config.ts
import { 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",
},
},
},
],
})orderReference is optional. By default the plugin sends order_id: order.display_id.
If a specific Medusa app wants raw Medusa ids instead:
{
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:
{
resolve: "@oak-digital/medusa-plugin-klaviyo",
options: {
apiKey: process.env.KLAVIYO_API_KEY,
orderReference: {
propertyName: "medusa_order_ref",
resolveValue: (order) => order.id,
},
},
}Set KLAVIYO_API_KEY in the Medusa app environment, then run migrations:
npx medusa db:migrateThe admin settings page is available at /app/klaviyo in the Medusa Admin dashboard.
Local development
pnpm install
npx medusa plugin:db:generate
npx medusa plugin:publish
pnpm devInstall the locally published package in a Medusa app:
npx medusa plugin:add @oak-digital/medusa-plugin-klaviyoBuild
pnpm build