URL Parameters
When Dynamic is enabled, your link accepts these URL parameters:Line Items ?li=
Add products to the cart with optional selling plan and line item attributes.
Examples
Examples
| Example | Description |
|---|---|
?li=12345,2 | Add 2 units of variant 12345 |
?li=12345,2:67890,1 | Add multiple products |
?li=12345,1,9251324219 | Add with selling plan (subscription) |
?li=12345,2,[Gift,true] | Add with line item attribute |
?li=12345,1,9251324219,[Gift,true:Message,Hello] | Selling plan + multiple attributes |
Customer ID ?c=
Pre-fill checkout with a customer’s saved details using their Shopify customer ID or Klaviyo profile ID.
Examples
Examples
| Example | Description |
|---|---|
?c=7654321098765 | Shopify customer ID |
?c=01KAMJGT9S99DT546Z2J6BVCP1 | Klaviyo profile ID |
The customer’s saved name, email, and shipping address are pre-filled at checkout. Klaviyo profile IDs require the Klaviyo integration to be configured.
Inline Customer Data ?c=
Pre-fill checkout with customer data passed directly in the URL.
Examples
Examples
| Example | Description |
|---|---|
?c=[email,[email protected]] | Email only |
?c=[email,[email protected]:firstName,John:lastName,Smith] | Email with name |
?c=[firstName,John:lastName,Smith:city,London:country,GB] | Name and address |
Available fields
Available fields
| Field | Description |
|---|---|
email | Customer email address |
phone | Customer phone number |
firstName | First name |
lastName | Last name |
address1 | Street address |
address2 | Apartment, suite, etc. |
city | City |
province | State or province |
zip | Postal or ZIP code |
country | Country code (e.g., US, GB, CA) |
company | Company name |
Cart Attributes ?attr=
Add custom attributes to the cart.
Examples
Examples
| Example | Description |
|---|---|
?attr=[Gift,true] | Single attribute |
?attr=[Delivery-Date,2026-01-25] | Date attribute |
?attr=[Gift,true:Message,Hello] | Multiple attributes |
Cart Note ?note=
Add a note to the order.
Examples
Examples
| Example | Description |
|---|---|
?note=Please%20gift%20wrap | Gift wrap request |
?note=Deliver%20after%205pm | Delivery instructions |
?note=Leave%20at%20door | Drop-off instructions |
Abandonment ?a=
Restore an abandoned cart using a Shopify abandonment ID.
This parameter is used with abandonment recovery integrations. The abandonment ID is provided by Shopify’s abandoned checkout data.
Reorder Items
When Dynamic is enabled, a Reorder items checkbox appears in the Cart card. When checked, the link will automatically add items from the customer’s previous order. This requires passing a customer ID via?c= parameter.
Combining Parameters
You can combine multiple parameters in a single URL:Use Cases
Bundle Builder Landing Page
Create one link, change the URL based on customer selection:Klaviyo Abandoned Cart
Use Klaviyo template variables to build dynamic cart links:Shopify Flow / Zapier / Make
Build URLs programmatically from any automation: Shopify Flow:- Trigger: Customer tagged “VIP”
- Action: Send email with dynamic link containing recommended products
- Trigger: Form submission
- Action: Build checkout URL from form data → Send to customer
Subscription Landing Page
Send customers directly to checkout with a subscription pre-selected:Promotions & Security
How promotions work with dynamic links
Promotions are configured on the link itself, not in the URL. This means:- ✅ Customers get the discount you configured
- ✅ Bad actors can’t change or guess discount codes
- ✅ Your promotion rules always apply
- ✅ Line item discounts in URLs are ignored on dynamic links
Recommended: Use tiered promotions with caps
For dynamic links, we recommend setting a maximum discount value:Need product-level restrictions?
If you need discounts to only apply to specific products:- Create a discount code in Shopify with product/collection restrictions
- Add that discount code to your link in the Checkout Links UI
- Shopify enforces the restrictions automatically
Important Notes
Dynamic mode must be enabled
URL parameters are ignored unless you enable Dynamic Mode on the link. This is a security feature.URL length limits
Most browsers support URLs up to 2,000 characters. For QR codes, keep URLs under 500 characters for easy scanning. Tips for shorter URLs:- Use
?c=with a Shopify Customer ID instead of full address fields - Create customers in Shopify first for returning buyers
- Keep cart attribute keys short
Analytics
Dynamic links track analytics the same as regular links. All clicks and orders roll up to the link you created. Want granular tracking? Create separate links:summer-campaign-emailfor email sendssummer-campaign-socialfor social postssummer-campaign-smsfor SMS