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: The updated Skio event data and new skio_* contact properties are available only if you have integrated the app after the August 17, 2026 update. If your Skio events do not populate these properties, follow the instructions in the FAQ below.
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, cancelled, paused, reactivated, renewed, or affected by a failed billing attempt.
Set Up the Skio Integration
Step 1: Connect Skio in Omnisend
In Omnisend, go to App Market.
Search for Skio.
Click Connect.
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. |
Billing Events
Event | When it fires | Example use |
| A billing attempt fails. | Payment update requests and billing recovery messages. |
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, such as billing dates or completed billing cycles.
Event properties are available inside event-triggered Automation for personalization.
For example:
[[ event.subscriptionId ]] [[ event.status ]] [[ event.domain ]]
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. |
Always-Current Contact Properties
These properties are updated when a supported event is received. They represent the subscription’s current state at the time of the latest event.
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. |
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 |
|
| Subscription ID recorded during the latest cancellation. |
|
| Timestamp of the latest cancellation. |
|
| Customer-stated reason for the latest cancellation. |
|
| System-recorded final reason for the latest cancellation. |
|
| Subscription ID recorded during the latest reactivation. |
|
| Subscription ID recorded during the latest pause. |
|
| Number of days the subscription was paused. |
|
| Error code from the latest failed billing attempt. |
|
| Human-readable message from the latest billing failure. |
|
| Number of failed billing attempts. |
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_numberOfFailedAttempts
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 updated event data and new skio_* contact properties are available only after Skio is connected or reconnected following the August 17, 2026 update.
If you connected Skio before the update:
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 populate when supported events are received through the reconnected integration. Events and properties from before the update 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.

