@wix/agent-skills 1.12.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/package.json +1 -1
- package/skills/wix-app/references/data-collection/WIX_DATA.md +10 -0
- package/skills/wix-design-system/SKILL.md +3 -1
- package/skills/wix-headless/references/BUILD-astro.md +10 -1
- package/skills/wix-headless/references/shared/STYLING.md +0 -1
- package/skills/wix-headless/scripts/compose.mjs +19 -24
- package/skills/wix-headless/scripts/patch-decorative-slots.mjs +15 -9
- package/skills/wix-manage/SKILL.md +32 -54
- package/skills/wix-manage/references/ecommerce/api-recommendation-tracking.md +3 -2
- package/skills/wix-manage/references/ecommerce/ecom-load-context.md +144 -0
- package/skills/wix-manage/references/ecommerce/ecom-pricing.md +84 -0
- package/skills/wix-manage/references/ecommerce/ecom-shipping.md +64 -0
- package/skills/wix-manage/references/ecommerce/{setup-coupons.md → pricing-promotions/ecom-pricing-create-coupon.md} +20 -6
- package/skills/wix-manage/references/ecommerce/{setup-discount-rules.md → pricing-promotions/ecom-pricing-create-discount-rule.md} +31 -1
- package/skills/wix-manage/references/ecommerce/{flow-bundle-and-save.md → pricing-promotions/ecom-pricing-flow-bundle-and-save.md} +11 -52
- package/skills/wix-manage/references/ecommerce/{flow-seasonal-promotion.md → pricing-promotions/ecom-pricing-flow-seasonal-promotion.md} +17 -57
- package/skills/wix-manage/references/ecommerce/{flow-stock-mover.md → pricing-promotions/ecom-pricing-flow-stock-mover.md} +28 -70
- package/skills/wix-manage/references/ecommerce/{flow-upsell-boost.md → pricing-promotions/ecom-pricing-flow-upsell-boost.md} +15 -68
- package/skills/wix-manage/references/ecommerce/{goal-clear-inventory.md → pricing-promotions/ecom-pricing-goal-clear-inventory.md} +22 -13
- package/skills/wix-manage/references/ecommerce/{goal-drive-cross-sells.md → pricing-promotions/ecom-pricing-goal-drive-cross-sells.md} +26 -8
- package/skills/wix-manage/references/ecommerce/{goal-increase-aov.md → pricing-promotions/ecom-pricing-goal-increase-aov.md} +32 -25
- package/skills/wix-manage/references/ecommerce/{goal-seasonal-revenue.md → pricing-promotions/ecom-pricing-goal-seasonal-revenue.md} +21 -8
- package/skills/wix-manage/references/ecommerce/{troubleshoot-discount-not-applying.md → pricing-promotions/ecom-pricing-troubleshoot-not-applying.md} +1 -1
- package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +23 -47
- package/skills/wix-manage/references/ecommerce/{api-shipping.md → shipping/ecom-shipping-api.md} +4 -3
- package/skills/wix-manage/references/ecommerce/{flow-fix-coverage-gaps.md → shipping/ecom-shipping-fix-coverage.md} +23 -17
- package/skills/wix-manage/references/ecommerce/{flow-add-free-shipping.md → shipping/ecom-shipping-free-shipping.md} +23 -18
- package/skills/wix-manage/references/ecommerce/{flow-optimize-shipping-rates.md → shipping/ecom-shipping-optimize-rates.md} +19 -16
- package/skills/wix-manage/references/ecommerce/{setup-store-pickup-location.md → shipping/ecom-shipping-setup-pickup.md} +12 -10
- package/skills/wix-manage/references/ecommerce/{setup-shipping-rates.md → shipping/ecom-shipping-setup-rates.md} +1 -2
- package/skills/wix-manage/references/ecommerce/{setup-shipping-regions.md → shipping/ecom-shipping-setup-regions.md} +1 -2
- package/skills/wix-manage/references/sites/query-sites.md +104 -32
- package/skills/wix-headless/references/astro/templates/Footer.astro +0 -27
- package/skills/wix-headless/references/astro/templates/Navigation.astro +0 -38
- package/skills/wix-headless/references/astro/templates/index.astro +0 -56
- package/skills/wix-manage/references/ecommerce/goal-reduce-cart-abandonment.md +0 -147
- package/skills/wix-manage/references/ecommerce/guardrail-discount-conflicts.md +0 -118
- package/skills/wix-manage/references/ecommerce/guardrail-margin-protection.md +0 -88
- package/skills/wix-manage/references/ecommerce/guardrail-rate-pricing-sanity.md +0 -108
- package/skills/wix-manage/references/ecommerce/guardrail-shipping-health.md +0 -124
- package/skills/wix-manage/references/ecommerce/recipe-apply-shipping-recommendations.md +0 -298
- package/skills/wix-manage/references/ecommerce/skill-graph.md +0 -139
- package/skills/wix-manage/references/ecommerce/troubleshoot-checkout-delivery-dropoff.md +0 -124
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Recipe: Apply Shipping Recommendations"
|
|
3
|
-
description: Applies AI-generated shipping recommendations to a Wix e-commerce store. Reads the current delivery profile and shipping options, then creates or updates shipping options based on recommendation data. Supports creating new options with conditional rates, updating existing options, and querying delivery profiles for region/carrier context.
|
|
4
|
-
---
|
|
5
|
-
# Apply Shipping Recommendations
|
|
6
|
-
|
|
7
|
-
## Prerequisites
|
|
8
|
-
|
|
9
|
-
- Wix Stores (or another eCommerce business solution) installed on the site
|
|
10
|
-
- Shipping recommendations data available (from the AI recommendation system or provided directly)
|
|
11
|
-
|
|
12
|
-
## Required APIs
|
|
13
|
-
|
|
14
|
-
- [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-delivery-profiles)
|
|
15
|
-
- [Get Delivery Profile](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#get-delivery-profile)
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Step 1: Query the current shipping configuration
|
|
20
|
-
|
|
21
|
-
Call [Query Delivery Profiles](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping#query-delivery-profiles) to understand the site's delivery setup — profiles, regions, carriers, and backup rates.
|
|
22
|
-
|
|
23
|
-
**Endpoint**: `POST https://www.wixapis.com/ecom/v1/delivery-profiles/query`
|
|
24
|
-
|
|
25
|
-
**Request**:
|
|
26
|
-
```json
|
|
27
|
-
{
|
|
28
|
-
"query": {
|
|
29
|
-
"cursorPaging": {
|
|
30
|
-
"limit": 100
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
**Response**:
|
|
37
|
-
```json
|
|
38
|
-
{
|
|
39
|
-
"deliveryProfiles": [
|
|
40
|
-
{
|
|
41
|
-
"id": "6a9b2f9b-533a-4d0d-ac8d-64ec3f32fcbd",
|
|
42
|
-
"name": "General profile",
|
|
43
|
-
"default": true,
|
|
44
|
-
"deliveryRegions": [
|
|
45
|
-
{
|
|
46
|
-
"id": "42b0ed3b-fc54-4ac0-89cf-5d2d17ec441c",
|
|
47
|
-
"name": "Domestic",
|
|
48
|
-
"active": true,
|
|
49
|
-
"deliveryCarriers": [
|
|
50
|
-
{
|
|
51
|
-
"appId": "45c44b27-ca7b-4891-8c0d-1747d588b835",
|
|
52
|
-
"additionalCharges": []
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
"destinations": [
|
|
56
|
-
{
|
|
57
|
-
"countryCode": "GB",
|
|
58
|
-
"subdivisions": []
|
|
59
|
-
}
|
|
60
|
-
]
|
|
61
|
-
}
|
|
62
|
-
],
|
|
63
|
-
"revision": "43",
|
|
64
|
-
"createdDate": "2025-10-26T11:05:10.774Z",
|
|
65
|
-
"updatedDate": "2026-04-14T14:43:25.397Z"
|
|
66
|
-
}
|
|
67
|
-
],
|
|
68
|
-
"pagingMetadata": {
|
|
69
|
-
"count": 1,
|
|
70
|
-
"cursors": {},
|
|
71
|
-
"hasNext": false
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
Save the profile `id`, `revision`, and each region's `id` and `active` status. Identify which regions have carriers with missing backup rates (`backupRate` absent or `backupRate.active: false`).
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Step 2: Query existing shipping options
|
|
81
|
-
|
|
82
|
-
**Endpoint**: `POST https://www.wixapis.com/ecom/v1/shipping-options/query`
|
|
83
|
-
|
|
84
|
-
**Request**:
|
|
85
|
-
```json
|
|
86
|
-
{
|
|
87
|
-
"query": {
|
|
88
|
-
"cursorPaging": {
|
|
89
|
-
"limit": 100
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
**Response**:
|
|
96
|
-
```json
|
|
97
|
-
{
|
|
98
|
-
"shippingOptions": [
|
|
99
|
-
{
|
|
100
|
-
"id": "c0e5be8f-5266-4720-a732-5f571e4750db",
|
|
101
|
-
"revision": "1",
|
|
102
|
-
"createdDate": "2026-04-14T14:43:24.804Z",
|
|
103
|
-
"updatedDate": "2026-04-14T14:43:24.804Z",
|
|
104
|
-
"deliveryRegionId": "42b0ed3b-fc54-4ac0-89cf-5d2d17ec441c",
|
|
105
|
-
"deliveryRegionIds": [],
|
|
106
|
-
"title": "Standard Shipping",
|
|
107
|
-
"estimatedDeliveryTime": "5-7 business days",
|
|
108
|
-
"rates": [
|
|
109
|
-
{
|
|
110
|
-
"amount": "15.00",
|
|
111
|
-
"conditions": [],
|
|
112
|
-
"multiplyByQuantity": false
|
|
113
|
-
}
|
|
114
|
-
]
|
|
115
|
-
}
|
|
116
|
-
],
|
|
117
|
-
"pagingMetadata": {
|
|
118
|
-
"count": 1,
|
|
119
|
-
"cursors": {},
|
|
120
|
-
"hasNext": false
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
Note: The response uses `deliveryRegionId` (singular) as the primary field linking an option to a region.
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Step 3: Apply recommendation — Create a new shipping option
|
|
130
|
-
|
|
131
|
-
When the recommendation action is `create_shipping_option`, create a new option linked to a specific delivery region.
|
|
132
|
-
|
|
133
|
-
**Endpoint**: `POST https://www.wixapis.com/ecom/v1/shipping-options`
|
|
134
|
-
|
|
135
|
-
**Request** — flat rate example:
|
|
136
|
-
```json
|
|
137
|
-
{
|
|
138
|
-
"shippingOption": {
|
|
139
|
-
"title": "Express Shipping",
|
|
140
|
-
"estimatedDeliveryTime": "1-2 business days",
|
|
141
|
-
"deliveryRegionId": "42b0ed3b-fc54-4ac0-89cf-5d2d17ec441c",
|
|
142
|
-
"rates": [
|
|
143
|
-
{
|
|
144
|
-
"amount": "12.99",
|
|
145
|
-
"multiplyByQuantity": false,
|
|
146
|
-
"conditions": []
|
|
147
|
-
}
|
|
148
|
-
]
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
**Response**:
|
|
154
|
-
```json
|
|
155
|
-
{
|
|
156
|
-
"shippingOption": {
|
|
157
|
-
"id": "dece6160-4e72-4fcc-adcc-7607215edab0",
|
|
158
|
-
"revision": "1",
|
|
159
|
-
"createdDate": "2026-04-15T13:14:01.214Z",
|
|
160
|
-
"updatedDate": "2026-04-15T13:14:01.214Z",
|
|
161
|
-
"deliveryRegionId": "42b0ed3b-fc54-4ac0-89cf-5d2d17ec441c",
|
|
162
|
-
"deliveryRegionIds": [],
|
|
163
|
-
"title": "Express Shipping",
|
|
164
|
-
"estimatedDeliveryTime": "1-2 business days",
|
|
165
|
-
"rates": [
|
|
166
|
-
{
|
|
167
|
-
"amount": "12.99",
|
|
168
|
-
"conditions": [],
|
|
169
|
-
"multiplyByQuantity": false
|
|
170
|
-
}
|
|
171
|
-
]
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
**Request** — free shipping with price threshold:
|
|
177
|
-
```json
|
|
178
|
-
{
|
|
179
|
-
"shippingOption": {
|
|
180
|
-
"title": "Free Shipping",
|
|
181
|
-
"estimatedDeliveryTime": "5-7 business days",
|
|
182
|
-
"deliveryRegionId": "42b0ed3b-fc54-4ac0-89cf-5d2d17ec441c",
|
|
183
|
-
"rates": [
|
|
184
|
-
{
|
|
185
|
-
"amount": "0",
|
|
186
|
-
"multiplyByQuantity": false,
|
|
187
|
-
"conditions": [
|
|
188
|
-
{
|
|
189
|
-
"type": "BY_TOTAL_PRICE",
|
|
190
|
-
"operator": "GTE",
|
|
191
|
-
"value": "75"
|
|
192
|
-
}
|
|
193
|
-
]
|
|
194
|
-
}
|
|
195
|
-
]
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
**Key field rules:**
|
|
201
|
-
|
|
202
|
-
| Field | Required | Notes |
|
|
203
|
-
|---|---|---|
|
|
204
|
-
| `title` | Yes | Display name at checkout |
|
|
205
|
-
| `estimatedDeliveryTime` | Yes | Free text shown to customers |
|
|
206
|
-
| `deliveryRegionId` | Yes | Region UUID from Step 1. Must use **singular** field, not `deliveryRegionIds` |
|
|
207
|
-
| `rates` | Yes | Array of rate objects |
|
|
208
|
-
| `rates[].amount` | Yes | Decimal string (`"5.99"`, `"0"` for free) |
|
|
209
|
-
| `rates[].multiplyByQuantity` | Yes | Almost always `false` |
|
|
210
|
-
| `rates[].conditions` | Yes | Empty array for flat rate; see condition types below |
|
|
211
|
-
|
|
212
|
-
**Condition types** (for tiered/conditional rates):
|
|
213
|
-
|
|
214
|
-
| Type | Description | Example |
|
|
215
|
-
|---|---|---|
|
|
216
|
-
| `BY_TOTAL_PRICE` | Cart total threshold | `"operator": "GTE", "value": "75"` |
|
|
217
|
-
| `BY_TOTAL_WEIGHT` | Weight threshold | `"operator": "LTE", "value": "10"` |
|
|
218
|
-
| `BY_TOTAL_QUANTITY` | Item count threshold | `"operator": "GTE", "value": "3"` |
|
|
219
|
-
|
|
220
|
-
Operators: `EQ`, `GT`, `GTE`, `LT`, `LTE`
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
## Step 4: Apply recommendation — Update an existing shipping option
|
|
225
|
-
|
|
226
|
-
When the recommendation action is `update_shipping_option`, update an existing option's title, delivery time, or rates.
|
|
227
|
-
|
|
228
|
-
**Endpoint**: `PATCH https://www.wixapis.com/ecom/v1/shipping-options/{shippingOptionId}`
|
|
229
|
-
|
|
230
|
-
Replace `{shippingOptionId}` with the option's `id` from Step 2.
|
|
231
|
-
|
|
232
|
-
**Request**:
|
|
233
|
-
```json
|
|
234
|
-
{
|
|
235
|
-
"shippingOption": {
|
|
236
|
-
"id": "c0e5be8f-5266-4720-a732-5f571e4750db",
|
|
237
|
-
"revision": "1",
|
|
238
|
-
"title": "Updated Standard Shipping",
|
|
239
|
-
"estimatedDeliveryTime": "3-5 business days",
|
|
240
|
-
"rates": [
|
|
241
|
-
{
|
|
242
|
-
"amount": "9.99",
|
|
243
|
-
"multiplyByQuantity": false,
|
|
244
|
-
"conditions": []
|
|
245
|
-
}
|
|
246
|
-
]
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
**Response**:
|
|
252
|
-
```json
|
|
253
|
-
{
|
|
254
|
-
"shippingOption": {
|
|
255
|
-
"id": "c0e5be8f-5266-4720-a732-5f571e4750db",
|
|
256
|
-
"revision": "2",
|
|
257
|
-
"createdDate": "2026-04-14T14:43:24.804Z",
|
|
258
|
-
"updatedDate": "2026-04-15T13:14:13.716Z",
|
|
259
|
-
"deliveryRegionId": "42b0ed3b-fc54-4ac0-89cf-5d2d17ec441c",
|
|
260
|
-
"deliveryRegionIds": [],
|
|
261
|
-
"title": "Updated Standard Shipping",
|
|
262
|
-
"estimatedDeliveryTime": "3-5 business days",
|
|
263
|
-
"rates": [
|
|
264
|
-
{
|
|
265
|
-
"amount": "9.99",
|
|
266
|
-
"conditions": [],
|
|
267
|
-
"multiplyByQuantity": false
|
|
268
|
-
}
|
|
269
|
-
]
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
The `revision` field is required and must match the current revision. The response returns the incremented revision.
|
|
275
|
-
|
|
276
|
-
---
|
|
277
|
-
|
|
278
|
-
## Step 5: Verify the changes
|
|
279
|
-
|
|
280
|
-
After applying recommendations, query shipping options again (Step 2) to confirm the changes took effect. Verify:
|
|
281
|
-
|
|
282
|
-
- New options appear in the list with the correct title, rates, and region link
|
|
283
|
-
- Updated options reflect the new values and incremented revision
|
|
284
|
-
- The option is linked to the correct `deliveryRegionId`
|
|
285
|
-
|
|
286
|
-
---
|
|
287
|
-
|
|
288
|
-
## Error Handling
|
|
289
|
-
|
|
290
|
-
| Error | Cause | Fix |
|
|
291
|
-
|---|---|---|
|
|
292
|
-
| `deliveryRegionId is not a valid GUID` | Used `deliveryRegionIds` (plural) instead of `deliveryRegionId` (singular) in create request | Use the singular `deliveryRegionId` field |
|
|
293
|
-
| `SHIPPING_OPTION_NOT_FOUND` | The shipping option ID doesn't exist | Re-query shipping options to get current IDs |
|
|
294
|
-
| `REVISION_MISMATCH` | The `revision` doesn't match the current version | Re-fetch the option to get the latest revision, then retry |
|
|
295
|
-
|
|
296
|
-
## References
|
|
297
|
-
|
|
298
|
-
- [API: Shipping Delivery](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/skills/api-shipping)
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "eCommerce Skill Graph"
|
|
3
|
-
description: Mermaid diagram showing how eCommerce skills connect — unified strategy entry point, goal/flow/guardrail chain, tracking inlined, troubleshoot as direct entries.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Skill Graph Diagram
|
|
7
|
-
|
|
8
|
-
```mermaid
|
|
9
|
-
flowchart TB
|
|
10
|
-
MR["Merchant Request"] --> R
|
|
11
|
-
|
|
12
|
-
subgraph R["R — Unified Entry Point"]
|
|
13
|
-
recommend-ecommerce-strategy
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
R --> |"loads API ref"| Config
|
|
17
|
-
R --> |"Step 4b: loads matching goal"| Goals
|
|
18
|
-
R --> |"Step 2+8: tracking inlined"| TrackingAPI
|
|
19
|
-
|
|
20
|
-
subgraph Goals["Goals — Business Objectives"]
|
|
21
|
-
subgraph GD["Discount + Shipping"]
|
|
22
|
-
goal-increase-aov
|
|
23
|
-
goal-clear-inventory
|
|
24
|
-
goal-seasonal-revenue
|
|
25
|
-
goal-drive-cross-sells
|
|
26
|
-
end
|
|
27
|
-
subgraph GA["Abandoned Cart"]
|
|
28
|
-
goal-reduce-cart-abandonment
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
Goals --> |"loads matching flows"| Flows
|
|
33
|
-
goal-increase-aov --> |"also loads shipping flows"| FS
|
|
34
|
-
|
|
35
|
-
subgraph Flows["Flows — Business Logic"]
|
|
36
|
-
subgraph FD["Discount"]
|
|
37
|
-
flow-upsell-boost
|
|
38
|
-
flow-bundle-and-save
|
|
39
|
-
flow-stock-mover
|
|
40
|
-
flow-seasonal-promotion
|
|
41
|
-
end
|
|
42
|
-
subgraph FS["Shipping"]
|
|
43
|
-
flow-fix-coverage-gaps
|
|
44
|
-
flow-add-free-shipping
|
|
45
|
-
flow-optimize-shipping-rates
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
Flows --> |"loads validation"| Guardrails
|
|
50
|
-
Flows --> |"loads setup"| Config
|
|
51
|
-
|
|
52
|
-
subgraph Guardrails["Cross-cutting: Guardrails"]
|
|
53
|
-
guardrail-discount-conflicts
|
|
54
|
-
guardrail-margin-protection
|
|
55
|
-
guardrail-shipping-health
|
|
56
|
-
guardrail-rate-pricing-sanity
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
subgraph Config["Config — Setup & API References"]
|
|
60
|
-
setup-discount-rules
|
|
61
|
-
setup-coupons
|
|
62
|
-
setup-shipping-regions
|
|
63
|
-
setup-shipping-rates
|
|
64
|
-
api-shipping
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
subgraph TrackingAPI["Tracking API"]
|
|
68
|
-
api-recommendation-tracking
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
subgraph Standalone["Direct Entry Points (from README)"]
|
|
72
|
-
recipe-apply-shipping-recommendations
|
|
73
|
-
setup-store-pickup-location
|
|
74
|
-
troubleshoot-discount-not-applying
|
|
75
|
-
troubleshoot-checkout-delivery-dropoff
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
Config -.-> |"calls via CallWixSiteAPI"| API
|
|
79
|
-
|
|
80
|
-
subgraph API["Wix REST API Docs (dev.wix.com)"]
|
|
81
|
-
D1["Discount Rules API"]
|
|
82
|
-
D2["Coupons API"]
|
|
83
|
-
D3["Products V3 API"]
|
|
84
|
-
D4["Categories API"]
|
|
85
|
-
D5["Catalog Analytics"]
|
|
86
|
-
S3["Pickup Locations API"]
|
|
87
|
-
S4["Local Delivery API"]
|
|
88
|
-
SD["Profile Service API (wix-profile-client)"]
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
classDef goal fill:#8b5cf6,stroke:#6d28d9,color:#fff
|
|
92
|
-
classDef guardrail fill:#ef4444,stroke:#dc2626,color:#fff
|
|
93
|
-
classDef flow fill:#3b82f6,stroke:#2563eb,color:#fff
|
|
94
|
-
classDef config fill:#f59e0b,stroke:#d97706,color:#fff
|
|
95
|
-
classDef reco fill:#ec4899,stroke:#db2777,color:#fff
|
|
96
|
-
classDef standalone fill:#6b7280,stroke:#4b5563,color:#fff
|
|
97
|
-
classDef apidoc fill:#e5e7eb,stroke:#9ca3af,color:#374151
|
|
98
|
-
|
|
99
|
-
class goal-increase-aov,goal-clear-inventory,goal-seasonal-revenue,goal-drive-cross-sells,goal-reduce-cart-abandonment goal
|
|
100
|
-
class guardrail-discount-conflicts,guardrail-margin-protection,guardrail-shipping-health,guardrail-rate-pricing-sanity guardrail
|
|
101
|
-
class flow-upsell-boost,flow-bundle-and-save,flow-stock-mover,flow-seasonal-promotion,flow-fix-coverage-gaps,flow-add-free-shipping,flow-optimize-shipping-rates flow
|
|
102
|
-
class setup-discount-rules,setup-coupons,setup-shipping-regions,setup-shipping-rates,api-recommendation-tracking,api-shipping config
|
|
103
|
-
class recommend-ecommerce-strategy reco
|
|
104
|
-
class recipe-apply-shipping-recommendations,setup-store-pickup-location,troubleshoot-discount-not-applying,troubleshoot-checkout-delivery-dropoff standalone
|
|
105
|
-
class D1,D2,D3,D4,D5,S1,S2,S3,S4,SD apidoc
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## File Reachability
|
|
109
|
-
|
|
110
|
-
| File | Reached via |
|
|
111
|
-
|---|---|
|
|
112
|
-
| `recommend-ecommerce-strategy.md` | README routing (entry point) |
|
|
113
|
-
| `api-recommendation-tracking.md` | Entry point tracking steps |
|
|
114
|
-
| `goal-increase-aov.md` | Step 4b (UPSELL_BOOST) |
|
|
115
|
-
| `goal-clear-inventory.md` | Step 4b (STOCK_MOVER) |
|
|
116
|
-
| `goal-seasonal-revenue.md` | Step 4b (SEASONAL) |
|
|
117
|
-
| `goal-drive-cross-sells.md` | Step 4b (BUNDLE_AND_SAVE) |
|
|
118
|
-
| `goal-reduce-cart-abandonment.md` | Step 4b (ABANDONED_CART domain) |
|
|
119
|
-
| `flow-upsell-boost.md` | goal-increase-aov chain |
|
|
120
|
-
| `flow-bundle-and-save.md` | goal-increase-aov / goal-drive-cross-sells chain |
|
|
121
|
-
| `flow-stock-mover.md` | goal-clear-inventory chain |
|
|
122
|
-
| `flow-seasonal-promotion.md` | goal-seasonal-revenue chain |
|
|
123
|
-
| `flow-fix-coverage-gaps.md` | goal-reduce-cart-abandonment chain (critical operational fix) |
|
|
124
|
-
| `flow-add-free-shipping.md` | goal-increase-aov chain (shipping flows serving AOV) |
|
|
125
|
-
| `flow-optimize-shipping-rates.md` | goal-increase-aov chain (shipping flows serving AOV) |
|
|
126
|
-
| `guardrail-discount-conflicts.md` | flow-upsell-boost / bundle / stock / seasonal chains |
|
|
127
|
-
| `guardrail-margin-protection.md` | flow-upsell-boost / stock-mover chains |
|
|
128
|
-
| `guardrail-shipping-health.md` | flow-fix-coverage-gaps chain |
|
|
129
|
-
| `guardrail-rate-pricing-sanity.md` | flow-add-free-shipping / optimize chains |
|
|
130
|
-
| `setup-discount-rules.md` | All discount flow chains |
|
|
131
|
-
| `setup-coupons.md` | Step 4c (COUPON mechanism) |
|
|
132
|
-
| `setup-shipping-regions.md` | flow-fix-coverage-gaps chain |
|
|
133
|
-
| `setup-shipping-rates.md` | flow-add-free-shipping / optimize chains |
|
|
134
|
-
| `api-shipping.md` | Shipping flows (fix-coverage-gaps, add-free-shipping, optimize, recipe, setup-store-pickup) |
|
|
135
|
-
| `recipe-apply-shipping-recommendations.md` | README direct entry |
|
|
136
|
-
| `setup-store-pickup-location.md` | README direct entry |
|
|
137
|
-
| `troubleshoot-discount-not-applying.md` | README direct entry |
|
|
138
|
-
| `troubleshoot-checkout-delivery-dropoff.md` | README direct entry |
|
|
139
|
-
| `skill-graph.md` | Documentation reference |
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Troubleshoot: Checkout Delivery Drop-off"
|
|
3
|
-
description: Diagnostic tree for when delivery step conversion is below benchmark. Correlates shipping issues with checkout abandonment and calculates revenue impact.
|
|
4
|
-
layer: troubleshoot
|
|
5
|
-
---
|
|
6
|
-
# Troubleshoot: Checkout Delivery Drop-off
|
|
7
|
-
|
|
8
|
-
## When to use
|
|
9
|
-
|
|
10
|
-
Use this diagnostic tree when analyzing checkout funnel performance and the delivery step shows elevated abandonment. The delivery step is where customers choose their shipping method — drop-off here directly indicates shipping-related friction.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Step 1: Check delivery step conversion rate
|
|
15
|
-
|
|
16
|
-
Compare `delivery_step_cvr` against the benchmark of **65%**.
|
|
17
|
-
|
|
18
|
-
### Interpretation
|
|
19
|
-
|
|
20
|
-
| CVR range | Interpretation | Action |
|
|
21
|
-
|---|---|---|
|
|
22
|
-
| cvr < benchmark (65%) AND shipping issues detected | Correlate specific issues to conversion drop | Proceed to full diagnostic |
|
|
23
|
-
| cvr ≥ benchmark (65%) | Do NOT cite CVR gap as justification | Focus on best practices, not recovery |
|
|
24
|
-
| cvr ≥ 90% | Excellent — note strong performance | Focus on maintaining, not fixing |
|
|
25
|
-
|
|
26
|
-
**Important**: If the CVR is at or above benchmark, do not frame recommendations as fixing a conversion problem. Only cite CVR gap when the data supports it.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Step 2: Calculate revenue impact
|
|
31
|
-
|
|
32
|
-
Use this formula to quantify the business impact of the delivery step drop-off:
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
revenue_impact = (benchmark_delivery_cvr - delivery_step_cvr) / 100 × total_checkouts × aov
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
**Example**: If benchmark is 65%, current CVR is 55%, with 2,000 checkouts/month and $80 AOV:
|
|
39
|
-
- `(65 - 55) / 100 × 2000 × 80 = $16,000/month` in potential lost revenue.
|
|
40
|
-
|
|
41
|
-
### High traffic amplifier
|
|
42
|
-
|
|
43
|
-
If `visitors > 30,000` (approximately 1,000+ per day) AND a HIGH-severity shipping issue is detected, include a daily revenue impact estimate to emphasize urgency:
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
daily_impact = revenue_impact / 30
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
> "At your traffic volume, this shipping issue may be costing approximately ${daily_impact} per day."
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## Step 3: Assign priority
|
|
54
|
-
|
|
55
|
-
Based on the gap between current CVR and benchmark:
|
|
56
|
-
|
|
57
|
-
| Gap | Priority | Urgency |
|
|
58
|
-
|---|---|---|
|
|
59
|
-
| Gap > 10 percentage points | **HIGH** | Address immediately — significant revenue loss |
|
|
60
|
-
| Gap 5-10 percentage points | **MEDIUM** | Address soon — meaningful improvement opportunity |
|
|
61
|
-
| Gap < 5 percentage points | **LOW** | Optimize when convenient — incremental gains |
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## Step 4: Identify common causes
|
|
66
|
-
|
|
67
|
-
Check for these known shipping issues that correlate with delivery step drop-off:
|
|
68
|
-
|
|
69
|
-
1. **No free shipping option**: Stores without any free shipping option see higher delivery-step abandonment. Customers expect at least a conditional free shipping tier.
|
|
70
|
-
|
|
71
|
-
2. **Missing delivery estimates**: Shipping options without estimated delivery times create uncertainty. Customers abandon when they don't know when their order will arrive.
|
|
72
|
-
|
|
73
|
-
3. **Per-item pricing (`multiplyByQuantity`)**: Customers adding multiple items see shipping costs spike unexpectedly at checkout.
|
|
74
|
-
|
|
75
|
-
4. **Coverage gaps**: Customer's delivery address falls outside configured shipping regions. The checkout shows no available shipping methods.
|
|
76
|
-
|
|
77
|
-
5. **Inactive backup rates**: When the primary carrier can't fulfill and no backup rate is configured, the customer sees no shipping options.
|
|
78
|
-
|
|
79
|
-
6. **Options on inactive regions**: Shipping options configured for regions that are set to `active: false` are not available at checkout.
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## Step 5: Run diagnostic sequence
|
|
84
|
-
|
|
85
|
-
Follow this sequence to systematically identify the root cause:
|
|
86
|
-
|
|
87
|
-
### 5.1 Check configuration completeness
|
|
88
|
-
- Are delivery profiles configured?
|
|
89
|
-
- Are regions active?
|
|
90
|
-
- Are shipping options assigned to active regions?
|
|
91
|
-
|
|
92
|
-
### 5.2 Check coverage gaps
|
|
93
|
-
- Do the configured regions cover the store's primary customer geographies?
|
|
94
|
-
- Are there common destination countries/states missing from region definitions?
|
|
95
|
-
|
|
96
|
-
### 5.3 Check free shipping presence
|
|
97
|
-
- Is there at least one free shipping option (unconditional or threshold-based)?
|
|
98
|
-
- If threshold-based, is the threshold achievable relative to AOV?
|
|
99
|
-
|
|
100
|
-
### 5.4 Check rate pricing sanity
|
|
101
|
-
- Are any rates exceeding 15% of AOV?
|
|
102
|
-
- Is `multiplyByQuantity` enabled on any rate?
|
|
103
|
-
- See the **Guardrail: Rate Pricing Sanity** skill for detailed checks.
|
|
104
|
-
|
|
105
|
-
### 5.5 Check backup rates
|
|
106
|
-
- Are backup rates configured on carriers?
|
|
107
|
-
- Are backup rate amounts reasonable (5-10% of AOV)?
|
|
108
|
-
|
|
109
|
-
### 5.6 Correlate findings with CVR impact
|
|
110
|
-
- For each issue found, estimate its contribution to the CVR gap.
|
|
111
|
-
- Prioritize fixes by expected conversion recovery.
|
|
112
|
-
- Present findings in order of impact, with revenue estimates where possible.
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## Summary: Diagnostic checklist
|
|
117
|
-
|
|
118
|
-
| Step | Check | What to look for |
|
|
119
|
-
|---|---|---|
|
|
120
|
-
| 1 | CVR vs benchmark | Is there actually a gap to address? |
|
|
121
|
-
| 2 | Revenue impact | Quantify the business cost |
|
|
122
|
-
| 3 | Priority | HIGH (>10pt gap), MEDIUM (5-10pt), LOW (<5pt) |
|
|
123
|
-
| 4 | Common causes | Free shipping, estimates, per-item, coverage, backups |
|
|
124
|
-
| 5 | Diagnostic sequence | Config → coverage → free shipping → rates → backups → correlate |
|