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

Description

skio_activeSubscriptionCount

Number of active subscriptions

skio_activeSubscriptions

Includes all properties for the active subscriptions

skio_cancelledSubscriptionCount

Number of cancelled subscriptions

skio_cancelledSubscriptions

Includes all properties for the cancelled subscriptions

skio_cyclesCompleted

Number of cycles completed (the order count)

skio_failedSubscriptionCount

Number of failed subscriptions

skio_failedSubscriptions

Includes all properties for the failed subscriptions

skio_hasActiveSubscription

True/False value if they have an active subscription

skio_hasCancelledSubscription

True/False value if they have a cancelled subscription

skio_hasFailedSubscription

True/False value if they have a failed subscription

skio_hasPausedSubscription

True/False value if they have a failed subscription

skio_hasPrepaidSubscription

True/False value if they have a paused subscription

skio_nextBillingDate

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

skio_pausedSubscriptionCount

Count of paused subscriptions

skio_pausedSubscriptions

Includes all properties for the paused subscriptions

skio_prepaidSubscriptionCount

Count of prepaid subscriptions

skio_storefrontUserId

A Skio-specific id to identify the subscriber

skio_subscribedProductTitles

The product titles included in active subscriptions

skio_subscribedSKUs

The SKUs included in active subscriptions

skio_subscribedVariantTitles

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 
  • status - ACTIVE, CANCELLED, PAUSED, or FAILED 
  • 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: {{ event.total }}
  • 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: 

Recommendations

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 success@skio.com 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:


FAQs

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

Contact