Skip to main content

Integrate Skio with Omnisend

Learn how to sync date from Skio to Omnisend

Written by Edgaras Vaninas

Skio is a Shopify subscription app for recurring billing and subscription management. Connect Skio to Omnisend to trigger Email and SMS Automation Workflows based on subscription and billing events.

The integration also syncs subscription data to contact profiles for personalization, segmentation, and Quick Actions.


Before You Begin

Make sure that:

  • You have an active Skio app installed on your Shopify store.

  • You have access to your Skio Dashboard.

  • You have access to your Omnisend account.

  • Your Skio integration uses the Custom Webhook Integration.

The integration is available on all Omnisend plans. Skio sends supported events to Omnisend through webhooks. 

Important Integration Updates:

  • August 17, 2026: Expanded the Contact properties synced from Skio and added segmentation and Quick Actions support.

  • August 26, 2026: Added four supported events and their related event-specific Contact properties. The event names in this article were also updated to match the current format.

If you connected Skio before the latest releases, uninstall and reinstall the integration, configure the supported events, and send new test events. If you don't reconnect it, events and Contact properties may be processed differently.

These updates aren't applied retroactively, so data processed before you reconnect won't be updated automatically.

Benefits

With the Skio integration, you can:

  • Trigger Email and SMS Automation Workflows for subscription and billing events.

  • Sync current subscription information to contact profiles.

  • Segment Contacts using the synced skio_* custom properties.

  • Personalize messages with subscription details.

  • Create Quick Action links using the subscription ID and, when required, the Quick Action token.

  • Send timely messages when a subscription is created, canceled, paused, reactivated, renewed, skipped, or affected by a failed billing attempt, an expiring card, a changed billing date, or an out-of-stock item.

Set Up the Skio Integration

Step 1: Connect Skio in Omnisend

  1. In Omnisend, go to App Market.

  2. Search for Skio.

  3. Click Connect now.

  4. On the Skio app settings page, copy the Webhook URL shown under Automations.

Keep the Webhook URL available. You will add it to Skio in the next step.

Step 2: Enable the Custom Webhook Integration in Skio

  1. Log in to your Skio Dashboard.

  2. Go to Integrations.

  3. Find Custom Webhook Integration.

  4. Click Enable.

  5. On the Custom Webhook Integration settings page, paste the Webhook URL from Omnisend.

  6. Click Save.

  7. Confirm that the integration status shows Connected.

Step 3: Add and Test Events in Skio

  1. On the Custom Webhook Integration page in Skio, click + Add events.

  2. Select the events you want to send to Omnisend.

  3. Click Send test after adding each event.

Important: Omnisend registers a custom event only after receiving at least one event payload. Send a test for every event you enable. Otherwise, the event will not appear as an available trigger in Omnisend.

Step 4: Confirm the Connection in Omnisend

  1. Return to the Skio app settings page in Omnisend.

  2. Make sure Skio – Subscription events is selected.

  3. Click Update settings.

  4. Confirm that the status shows Connected.

After an event fires for the first time, you can find it in Store settings API API Logs. Event data also appears on the relevant contact profiles.

Supported Custom Events

All events appear in Omnisend with the Skio - prefix followed by the event name.

Subscription Lifecycle Events

Event

When it fires

Example use

Skio - Subscription Created

A customer starts a new subscription.

Welcome messages, onboarding, and subscription tips.

Skio - Subscription Cancelled

A customer cancels their subscription.

Win-back messages and cancellation feedback requests.

Skio - Subscription Reactivated

A customer reactivates a canceled subscription.

Confirmation messages and loyalty offers.

Skio - Subscription Paused

A customer pauses their subscription.

Re-engagement messages and pause surveys.

Skio - Subscription Unpaused

A customer resumes a paused subscription.

Confirmation messages and upcoming shipment information.

Skio - Subscription Renewed

A subscription renews successfully.

Renewal confirmations and relevant product recommendations.

Skio - Subscription Skipped

A customer skips an upcoming order.

Skip confirmations and product recommendations for the next cycle.

Billing Events

Event

When it fires

Example use

Skio - Billing Attempt Failed

A billing attempt fails.

Payment update requests and billing recovery messages.

Skio - Card Expiring

A customer's payment card is about to expire.

Proactive payment method update requests.

Skio - Next Billing Date Updated

A subscription's next billing date changes.

Billing reminder updates and schedule change confirmations.

Inventory Events

Event

When it fires

Example use

Skio - Out Of Stock

A subscription line item goes out of stock.

Substitution notices and delay notifications.

Event Properties

Event properties vary by event. They typically include:

  • subscriptionId – Unique subscription ID.

  • email – Customer email address.

  • status – Subscription status.

  • domain – Store domain where the subscription was created.

Additional event-specific values may be included for some events:

  • daysUntilExpiration and paymentMethodLastDigits – Included with the Skio - Card Expiring event.

  • inventoryPolicy and allProductsOutOfStock – Included with the Skio - Out Of Stock event.

Event properties are available inside event-triggered Automation Workflows for personalization.

For example: [[ event.subscriptionId ]] [[ event.status ]] [[ event.domain ]]

Note: Event properties are not available for static audience segments. Use the synced skio_* Contact properties for segmentation.

Contact Data Passed to Omnisend

Skio sends standard contact fields and contact custom properties to Omnisend.

Standard Contact Fields

Field

Description

Email Address

The customer’s email address and primary identifier.

Phone

The customer’s phone number, when provided. It is not currently used as a Contact identifier.

Always-Current Contact Custom Properties

These custom properties are updated when a supported event is received. They represent the subscription’s current state at the time of the latest event.

Custom Property

Description

skio_subscriptionId

Unique ID of the customer’s subscription.

skio_status

Current subscription status, such as ACTIVE, FAILED, or CANCELLED.

skio_qaToken

Token used for Quick Action links when the Quick Action authentication configuration requires one.

skio_nextBillingDate

Date of the next scheduled billing attempt.

skio_interval

Billing frequency unit, such as WEEK or MONTH.

skio_intervalCount

Number of interval units between billing attempts.

skio_skipCount

Number of times the customer has skipped an order.

skio_cyclesCompleted

Number of completed billing cycles.

skio_remainingCyclesUntilRenewal

Number of cycles remaining until renewal, when applicable.

skio_manageSubscriptionUrl

Link for the customer to manage their subscription.

Event-Specific Contact Properties

These properties are set when the related event occurs. They remain on the Contact profile after later events and are not overwritten by unrelated event types.

This allows you to view a Contact’s subscription history, such as a cancellation followed by a reactivation.

Property

Set when

Description

skio_lastCancelledSubscriptionId

Skio - Subscription Cancelled occurs

Contains the subscription ID recorded during the latest cancellation.

skio_lastCancelledAt

Skio - Subscription Cancelled occurs.

Contains the timestamp of the latest cancellation.

skio_lastCancellationReason

Skio - Subscription Cancelled occurs

Contains the customer-stated reason for the latest cancellation.

skio_lastFinalCancellationReason

Skio - Subscription Cancelled occurs

Contains the system-recorded final reason for the latest cancellation.

skio_lastReactivatedSubscriptionId

Skio - Subscription Reactivated occurs

Contains the subscription ID recorded during the latest reactivation.

skio_lastPausedSubscriptionId

Skio - Subscription Paused occurs

Contains the subscription ID recorded during the latest pause.

skio_daysTemporarilyPaused

Skio - Subscription Paused occurs

Contains the number of days the subscription was paused.

skio_lastBillingErrorCode

Skio - Billing Attempt Failed occurs

Contains the error code from the latest billing failure.

skio_lastBillingErrorMessage

Skio - Billing Attempt Failed occurs

Contains the human-readable message from the latest billing failure.

skio_numberOfFailedAttempts

Skio - Billing Attempt Failed occurs

Contains the number of failed billing attempts.

skio_daysUntilExpiration

Skio - Card Expiring occurs

Contains the number of days remaining until the payment card expires.

skio_paymentMethodLastDigits

Skio - Card Expiring occurs.

Contains the last four digits of the expiring payment method.

skio_inventoryPolicy

Skio - Out Of Stock occurs.

Contains the store’s inventory policy for the affected subscription line.

skio_allProductsOutOfStock

Skio - Out Of Stock occurs.

Indicates whether all products on the subscription are out of stock. This property populates only when the value is true.

Use Skio Data in Omnisend

Use Contact Properties for Personalization

Custom contact properties use the following syntax:

[[contact.custom_properties.property_name]]

For example:

[[contact.custom_properties.skio_subscriptionId]] [[contact.custom_properties.skio_status]] [[contact.custom_properties.skio_nextBillingDate]]

You can insert these properties into Email, SMS, and Push messages using the Personalization tag menu.

Use Skio Data for Segmentation

You can create segments using any of the synced skio_* contact properties, including:

  • skio_status

  • skio_interval

  • skio_intervalCount

  • skio_skipCount

  • skio_cyclesCompleted

  • skio_lastCancellationReason

  • skio_lastBillingErrorCode

  • skio_numberOfFailedAttempts

  • skio_daysUntilExpiration

  • skio_inventoryPolicy

  • skio_allProductsOutOfStock

For example, you can create a segment of contacts whose skio_status is ACTIVE, or a segment of contacts with one or more failed billing attempts.

Use Quick Actions

Quick Action links require the subscription ID. Depending on your Quick Action authentication configuration, the link may also require the qaToken.

The integration stores these values as contact properties:

  • skio_subscriptionId

  • skio_qaToken

Use contact property personalization syntax in your Quick Action link template.

Subscription ID only:

<your-quick-action-url>?subscriptionId=[[contact.custom_properties.skio_subscriptionId]]

Subscription ID with a Quick Action token:

<your-quick-action-url>?subscriptionId=[[contact.custom_properties.skio_subscriptionId]]&qaToken=[[contact.custom_properties.skio_qaToken]]

Replace <your-quick-action-url> with the Quick Action URL provided by your Quick Action configuration. Include qaToken only when your authentication configuration requires it.

FAQ

When do Skio events appear in Omnisend?

Skio sends supported events to Omnisend in real time through webhooks. After an event fires for the first time, it appears in Store settings API API Logs and on the relevant contact profile.

Will all Skio events appear in Omnisend?

No. Omnisend processes only events that include a valid email address. Events without an email address are skipped.

Why don’t my Skio events populate the new contact properties?

The latest Skio integration updates are available only after the integration has been reconnected.

If your existing Skio integration does not show the new Contact properties or supported events:

  1. Uninstall the existing Skio integration from Omnisend.

  2. Reconnect Skio by following the setup steps in this article.

  3. Enable Skio – Subscription events in Omnisend.

  4. Add the supported events in Skio.

  5. Send a test for each event.

  6. Activate the Automation Workflows that use the Skio events.

The new Contact properties and supported events become available after the reconnected integration receives event data. Previous events and properties are not backfilled automatically.

Can I use Skio event properties for segmentation?

No. Event properties are available for personalization inside event-triggered Automation only.

You can segment contacts using the full set of synced skio_* contact properties, including both always-current and event-specific properties.

Does Skio send historical subscription data?

No. Skio sends events that occur after the integration is enabled and configured. Historical subscriptions are not backfilled automatically.


If you did not find the answer to your question, contact our Support Team through the in-app chat or at [email protected]. Our team is available 24/7.

Did this answer your question?