Table of Contents

Klaviyo Integration

Tyler Yannes Updated by Tyler Yannes

What is the Klaviyo integration?

The integration with Klaviyo allows you to send email and/or sms notifications through Klaviyo instead of within Skio.

Klaviyo has many different filters and an easy stylizing tool which makes sending emails and creating flows extra easy. With Klaviyo's flow logic, you can create sophisticated campaigns to target subscribers based on specific properties or actions taken.

How do I set this up?

  1. Go to the Skio Integrations page
    Note: This is a different setup from our prior Klaviyo integrations and will require this setup even if you already use our current Klaviyo integration
  2. Click "Enable" on the Klaviyo integration
  3. Input your Klaviyo accounts' Private Key and input a *new* Private key
    Note: Create a new private API key in Klaviyo for this v3 integration, especially if you already use our current Klaviyo integration to prevent any issues
  4. Toggle on the integration
  5. Create each "event" you want to pass into Klaviyo
  6. After creating each event, make sure to click "send test" for each event
    Why? Klaviyo only populates the metric when a webhook fires so we send over fake data with a test event; without a test event, you would need to wait for the event to actually occur on your store

Data Passed to Klaviyo

Event Metrics:
  • Skio: Billing Reminder Notification
  • Skio: Billing Attempt Failed
  • Skio: New Subscription Created
  • Skio: Subscription Cancelled
  • Skio: Subscription Next Billing Date Updated
  • Skio: Subscription Reactivated
  • Skio: Subscription Skipped
  • Skio: Surprise and Delight Rule Applied (NEW in V3)
  • Skio: Subscription Item Out of Stock (NEW in V3)
  • Skio: Subscription Renewed (NEW in V3)
  • Skio: Card Expiration Notification (NEW in V3)
  • Skio: Paused Subscription (NEW in V3)
  • Skio: Unpaused Subscription (NEW in V3)
What is this?
These are properties Skio sends over into Klaviyo to update the customer profile. Profile properties will appear as custom properties and can be used as "properties about someone" in Klaviyo filters.
Profile properties

Property Name



Number of active subscriptions


Includes all properties for the active subscriptions


Number of cancelled subscriptions


Includes all properties for the cancelled subscriptions


Number of cycles completed (the order count)


Number of failed subscriptions


Includes all properties for the failed subscriptions


True/False value if they have an active subscription


True/False value if they have a cancelled subscription


True/False value if they have a failed subscription


True/False value if they have a failed subscription


True/False value if they have a paused subscription


The next charge charge for the subscription (if they have multiple subscriptions it's the next charge date)


Count of paused subscriptions


Includes all properties for the paused subscriptions


Count of prepaid subscriptions


A Skio-specific id to identify the subscriber


The product titles included in active subscriptions


The SKUs included in active subscriptions


The variant titles included in active subscriptions

Here's an example:

Subscription Data

Sent with EVERY event

  • cyclesCompleted - how many subscription cycles have successfully been completed
  • cancelledAt - the date the subscription was cancelled at or None 
  • nextBillingDate - date of the next billing 
  • interval - WEEK, DAY, MONTH 
  • intervalCount - a number that represents the number of weeks, days or months 
  • Subscriptionlines - contains information for the subscription lines 
    • quantity
    • productTitle
    • productImage
    • productVariantImage
    • productVariantTitle
    • productImage
    • productVariantQuantity
  • quickActions - if enabled in Skio
  • shippingAddress
    • address1
    • address2
    • city
    • country
    • province
    • zip

Data sent with SPECIFIC event metrics

  1. Skio: Billing Attempt Failed - Sent every time we fail to charge customer’s card for a subscription
    1. errorCode — the error code why this subscription failed to bill
    2. errorMessage — Why the subscription failed to bill
  2. Skio: Subscription Cancelled — Sent every time a subscription is cancelled
    1. skioSubscriptionCancellationReason — the reason the merchant cancelled
  3. Skio: Billing Reminder Notification — Sent every time a subscription will renew
    1. skioSubscriptionDaysUntilRenewal — how many days until this subscription renews
  4. Skio: Subscription Item Out of Stock — Sent when items in a subscription are out of stock
    1. inventoryPolicy — how the out of stock subscription is handled. Only order items in stock vs retry again next day
  5. Skio: Card Expiration Notification — Sent when a customer card is about to expire
    1. Triggers at 11 am EST
  6. Skio: Surprise and Delight Rule Applied
    1. This event will trigger once the prior order processes that triggers the rule
    2. Eg. If you offer a free gift at order count 3, this event will trigger when order 2 processes

Variables to use within emails:

  • Variant Name: {{ event.subscriptionLines.0.productVariantName }}
  • Product Title: {{ event.subscriptionLines.0.productName }}
  • Quantity: {{ event.subscriptionLines.0.quantity }}
  • Account Login: {{ event.manageSubscriptionUrl }}
  • Next Order Date: {{ event.nextBillingDate }}
  • Order price: {{ }}
  • Product image: {{ event.subscriptionLines.0.productImage }}
  • Variant image: {{ event.subscriptionLines.0.productVariantImage }}
Why should I use variables? Variables pull in dynamic content specific to the receiver so these variables can be used to build beautiful, dynamic emails for each subscriber.

Profile custom properties example: 


Suggested Klaviyo Flows
  • Subscription started flow - target new subscriptions with their own email flow separate from 1-time customers in Shopify
  • Subscription cancellation flow - reach out to subscribers who cancelled to win them back
  • Failed payments/dunning - target your subscribers with outdated payment methods to remind them to update their payment method
Need help setting up your flows? Reach out to and our Success team can help you setup your flows. In fact, we have template flows built out for each metric and copy them into your Klaviyo account for you!
Suggested Klaviyo Segments
  • Active subscribers - create a segment of all your active subscribers
  • Cancelled subscribers - create a segment to track the subscribers who cancelled
  • Reactivated subscribers - track subscribers who reactivated a cancelled subscription
Emails in Klaviyo, SMS in Skio

Our V3 integration offers full flexibility depending on how you use Klaviyo currently. We recommend sending as many emails through Klaviyo as possible and enabling Skio SMS notifications.

For more info on SMS notifications, please check out this guide: Configuring Skio notifications (text/email)

Klaviyo resources:


Does the Klaviyo integration replace Skio notifications altogether?

It can but it doesn't have to; Klaviyo can replace all or some of your Skio emails. Most merchants will use Klaviyo for sending subscription emails and then use Skio for sending SMS notifications since our SMS notifications are completely free for all merchants and hassle-free.

How do Klaviyo notifications differ from Skio notifications?

All notifications can be send from Skio or Klaviyo

I don't see the metric in Klaviyo, what do I do?

Klaviyo will only pull in the metric once the webhook has fired at least once from Skio

We built out a tool in Skio that allows you to fire a fake webhook to push the metric into Klaviyo (see video below)

Can I send emails as transactional in Klaviyo?

Yes - here's how: Using transactional emails in flows

How do I edit the date format in Klaviyo?

We recommend using this variable for date formatting {{ event.nextBillingDate|format_date_string|date:'F d, o' | default:'soon'  }}.

Here's Klaviyo's guide for date formatting: How to Format Date Variables in Templates

How did we do?

Gorgias integration

Attentive Integration