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
In Omnisend, go to App Market.
Search for Skio.
Click Connect now.
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
Log in to your Skio Dashboard.
Go to Integrations.
Find Custom Webhook Integration.
Click Enable.
On the Custom Webhook Integration settings page, paste the Webhook URL from Omnisend.
Click Save.
Confirm that the integration status shows Connected.
Step 3: Add and Test Events in Skio
On the Custom Webhook Integration page in Skio, click + Add events.
Select the events you want to send to Omnisend.
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
Return to the Skio app settings page in Omnisend.
Make sure Skio – Subscription events is selected.
Click Update settings.
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 |
| A customer starts a new subscription. | Welcome messages, onboarding, and subscription tips. |
| A customer cancels their subscription. | Win-back messages and cancellation feedback requests. |
| A customer reactivates a canceled subscription. | Confirmation messages and loyalty offers. |
| A customer pauses their subscription. | Re-engagement messages and pause surveys. |
| A customer resumes a paused subscription. | Confirmation messages and upcoming shipment information. |
| A subscription renews successfully. | Renewal confirmations and relevant product recommendations. |
| A customer skips an upcoming order. | Skip confirmations and product recommendations for the next cycle. |
Billing Events
Event | When it fires | Example use |
| A billing attempt fails. | Payment update requests and billing recovery messages. |
| A customer's payment card is about to expire. | Proactive payment method update requests. |
| A subscription's next billing date changes. | Billing reminder updates and schedule change confirmations. |
Inventory Events
Event | When it fires | Example use |
| 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:
daysUntilExpirationandpaymentMethodLastDigits– Included with the Skio - Card Expiring event.inventoryPolicyandallProductsOutOfStock– 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 |
| Unique ID of the customer’s subscription. |
| Current subscription status, such as |
| Token used for Quick Action links when the Quick Action authentication configuration requires one. |
| Date of the next scheduled billing attempt. |
| Billing frequency unit, such as |
| Number of interval units between billing attempts. |
| Number of times the customer has skipped an order. |
| Number of completed billing cycles. |
| Number of cycles remaining until renewal, when applicable. |
| 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 - Subscription Cancelled occurs | Contains the subscription ID recorded during the latest cancellation. |
| Skio - Subscription Cancelled occurs. | Contains the timestamp of the latest cancellation. |
| Skio - Subscription Cancelled occurs | Contains the customer-stated reason for the latest cancellation. |
| Skio - Subscription Cancelled occurs | Contains the system-recorded final reason for the latest cancellation. |
| Skio - Subscription Reactivated occurs | Contains the subscription ID recorded during the latest reactivation. |
| Skio - Subscription Paused occurs | Contains the subscription ID recorded during the latest pause. |
| Skio - Subscription Paused occurs | Contains the number of days the subscription was paused. |
| Skio - Billing Attempt Failed occurs | Contains the error code from the latest billing failure. |
| Skio - Billing Attempt Failed occurs | Contains the human-readable message from the latest billing failure. |
| Skio - Billing Attempt Failed occurs | Contains the number of failed billing attempts. |
| Skio - Card Expiring occurs | Contains the number of days remaining until the payment card expires. |
| Skio - Card Expiring occurs. | Contains the last four digits of the expiring payment method. |
| Skio - Out Of Stock occurs. | Contains the store’s inventory policy for the affected subscription line. |
| Skio - Out Of Stock occurs. | Indicates whether all products on the subscription are out of stock. This property populates only when the value is |
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_statusskio_intervalskio_intervalCountskio_skipCountskio_cyclesCompletedskio_lastCancellationReasonskio_lastBillingErrorCodeskio_numberOfFailedAttemptsskio_daysUntilExpirationskio_inventoryPolicyskio_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_subscriptionIdskio_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:
Uninstall the existing Skio integration from Omnisend.
Reconnect Skio by following the setup steps in this article.
Enable Skio – Subscription events in Omnisend.
Add the supported events in Skio.
Send a test for each event.
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.

