Effortlessly bridge CWILL Tracking’s logistics data—from shipment status updates to delivery exceptions—with Omnisend to power automated post-purchase workflows that keep customers informed and transform the shipping experience into a powerful retention tool.
Here is the instruction
Step 1
Go to Omnisend admin → Store settings → Create API key → fill in the name and check the required permissions → Create API key → Copy API key



Step 2
Go to CWILL Tracking admin → Integration → find Omnisend → click the Connect button → paste the Omnisend API key → Connect


Step 3
Go to Omnisend admin → Automation → Create workflow → Create from scratch


Step 4
Select a specific event → configure the trigger filters based on your needs
CWILL Tracking provides a range of events for different use cases. Be sure to review the CWILL Tracking Events and Triggers Overview help article for more details.

Note: Trigger filters are case-sensitive.
Example 1: I want to create a flow that automatically sends a thank-you email when a shipment is delivered.
In CWILL Tracking admin, enable the Shipment status update event.


In Omnisend admin, select the CWILL Tracking – Shipment status update event and set the trigger filter to shipment status equals Delivered.

Example 2: I want to remind customers to collect their La Poste parcel, with a stronger message each time it stays uncollected.
In CWILL Tracking admin, create a Shipment stalled rule for Ready for pickup shipments carried by La Poste, and set the thresholds to 3d, 8d, and 14d. Note the Rule ID shown in the first column.


In Omnisend admin, select the CWILL Tracking – Shipment stalled event and set the trigger filter to rule id equals MBXBHK3C.

Add a Split, then create one path per threshold and give each its own email:
- residence time equals 3 → First reminder
- residence time equals 8 → Second reminder
- residence time equals 14 → Final notice
All three thresholds come from the same rule and arrive as the same event, so residence time is what tells them apart.

Note: Every Shipment stalled rule sends the same event. If you have more than one rule, always set a trigger filter on rule id so each flow only receives events from its own rule.
Step 5
Finish the Actions based on your needs.

Available Property
| Property name | Template tag | Example |
|---|---|---|
| store_name | [[ event.store_name ]] | YOURSTORENAME |
| store_url | [[ event.store_url ]] | https://yourstorename.com |
| shipment_status | [[ event.shipment_status ]] | Delivered |
| shipment_substatus | [[ event.shipment_substatus ]] | Delivered to doorstep |
| tracking_link | [[ event.tracking_link ]] | https://yourstorename.com/apps/parcelpanel?nums=1234&preview=parcelpanel |
| expected_delivery_date | [[ event.expected_delivery_date ]] | Jan 12, 2025 - Jan 16, 2025 |
| tracking_number | [[ event.tracking_number ]] | YT2436021211003147 |
| last_mile_tracking_number | [[ event.last_mile_tracking_number ]] | 9261290358097849005373 |
| carrier_name | [[ event.carrier_name ]] | YunExpress |
| carrier_contact | [[ event.carrier_contact ]] | 400-8575-500 |
| carrier_url | [[ event.carrier_url ]] | http://www.yuntrack.com/track/detail?id=YT2436021211003147 |
| last_mile_carrier_name | [[ event.last_mile_carrier_name ]] | USPS |
| last_mile_carrier_contact | [[ event.last_mile_carrier_contact ]] | 1 800-275-8777 |
| last_mile_carrier_url | [[ event.last_mile_carrier_url ]] | https://tools.usps.com/go/TrackConfirmAction?qtc_tLabels1=9261290358097849005373 |
| last_check_point | [[ event.last_check_point ]] | Delivered, In/At Mailbox, FAIRBANKS, AK 99701 |
| last_checkpoint_time | [[ event.last_checkpoint_time ]] | 2025-01-13 14:36:00 |
| pickup_location | [[ event.pickup_location ]] | 403 BANK STREET |
| transit_time | [[ event.transit_time ]] | 11 |
| residence_time | [[ event.residence_time ]] | 1 |
| order_number | [[ event.order_number ]] | #1234 |
| order_created_at | [[ event.order_created_at ]] | 2024-12-23 01:02:40 |
| fulfillment_created_at | [[ event.fulfillment_created_at ]] | 2024-12-24 01:25:40 |
| location | [[ event.location ]] | Los Angeles Fulfillment Center |
| pickup_date | [[ event.pickup_date ]] | 2025-01-03 01:28:40 |
| delivery_date | [[ event.delivery_date ]] | 2025-01-13 14:36:00 |
| product_name | [[ event.product_name ]] | Test product |
| customer_email | [[ event.customer_email ]] | [email protected] |
| customer_phone | [[ event.customer_phone ]] | +1 234 567 8900 |
| first_name | [[ event.first_name ]] | Tom |
| last_name | [[ event.last_name ]] | Alix |
| shipping_country | [[ event.shipping_country ]] | United States |
| shipping_province | [[ event.shipping_province ]] | California |
| shipping_city | [[ event.shipping_city ]] | Mountain View |
| shipping_address1 | [[ event.shipping_address1 ]] | 1600 Amphitheatre Parkway |
| shipping_address2 | [[ event.shipping_address2 ]] | Null |
| shipping_zip | [[ event.shipping_zip ]] | 94043 |
| rule_id | [[ event.rule_id ]] | A1B2C3D4 |
Addition
In addition to the basic information about the order, the LineItems field contains an array of information about each line item in the order. You can reference this data for building templates, branching logic based on package contents, and so on. This is stored in a 0-indexed array, so you can easily access an individual item or loop over it to get the entire contents.
| Property name | Template tag | Example |
|---|---|---|
| product_name | [[ event.lineitems.0.product_name ]] | Test product 1 |
| quantity | [[ event.lineitems.0.quantity ]] | 1 |
| variant_image | [[ event.lineitems.0.variant_image ]] | https://shopify.com/path/to/image-variant.jpg |
| price | [[ event.lineitems.0.price ]] | 24.96 |
| variant_name | [[ event.lineitems.0.variant_name ]] | Test product 1 - Black / L |
| sku | [[ event.lineitems.0.sku ]] | 12345678-black-l |
| handle | [[ event.lineitems.0.handle ]] | test-product-1 |
Migrating from the Old CWILL Tracking Custom Event trigger to the New one
1. If you’re already using the Omnisend integration, you’ll see 6 events. New installs will see 5 events. The extra one is the ParcelPanel Custom Event.
2. ParcelPanel Custom Event is equivalent to CWILL Tracking – Shipment status update.
3. ParcelPanel Custom Event will remain available long-term, so if you’re already using it, no action is required.
4. If you want to migrate from the ParcelPanel Custom Event trigger to CWILL Tracking – Shipment status update, you can use Omnisend’s Flow - Copy feature, as shown below. All actions (including variables) will be preserved to ensure a seamless migration. However, trigger filters will not be retained in Omnisend and need to be reconfigured.


Related article: CWILL Tracking Events and Triggers Overview
Need help? Feel free to contact us via online chat or email, our world-class 24/7 support team is always glad to help you 🧐