Skip to main content

Send Local Pickup & Delivery Flows to the Cart Page

Overview of the reasons behind forcing users to the cart page for RP Local Pickup and Delivery

Updated over a week ago

Shopify Cart Redirects with Third-Party Checkout Tools

Why You Must Send Local Pickup & Delivery Flows to the Cart Page (Not Checkout)

Overview

When using third-party checkout tools—such as ManyChat, SMS links, QR flows, landing pages, or in-app purchase automations—to add products to a Shopify cart, merchants may notice customers being sent directly to Checkout instead of the Cart page. This can be especially problematic when offering local fulfillment options like RP Local Pickup & Delivery, where customers must review, select delivery options, verify pickup details, and possibly add notes before ordering.

This article explains why the Cart page must be the landing point and how to implement reliable permalinks, with ManyChat examples.


🚫 Why You Can’t Fully Customize Shopify Checkout

Shopify’s checkout experience is intentionally restrictive:

  • Deeper checkout customizations (beyond branding and cosmetic edits) are limited, primarily to Shopify Plus merchants. Standard and Advanced stores cannot edit the underlying structure of checkout pages due to security, payment compliance, and platform constraints. Shopify Help Center+1

  • Custom edits that affect core checkout behavior (like adding new form elements, changing fulfillment logic, or inserting delivery selection flows) are not permitted without Shopify Plus tools (Checkout Extensibility / Functions / UI Extensions). Shopify Help Center

Because of this, merchants cannot reliably embed complex fulfillment logic directly in checkout via external systems. Instead, these decisions must happen before checkout—on the Cart page.


⚠️ Why the Cart Page Is Essential for Local Pickup & Delivery

1) Delivery Options Must Be Confirmed Before Checkout

For RP Local Pickup & Delivery (or any local fulfillment workflow):

  • Customers need to select pickup location, delivery time, or pickup notes before checkout.

  • Shopify checkout does not natively show these fields (or allow third-party tools to inject UI reliably) unless using Plus-level checkout extensions. Shopify Help Center

If customers are sent directly to checkout:

  • They can’t choose or confirm pickup/delivery details.

  • This often results in incorrect fulfillment, confused customers, or abandoned orders.

Sending the user to the Cart page first allows you to:
✔ Show delivery and pickup selectors
✔ Review cart item quantities, taxes, and shipping
✔ Add custom logic (via scripts, apps, or embedded elements)
✔ Only then, proceed to checkout with correct fulfillment details


2) Shopify Checkout Customization Is Limited

Even with Shopify’s built-in checkout editor, most merchants can only change:

  • branding (colors, logo, fonts)

  • customer data fields

  • order status and thank you page content
    but not the core flow logic or fulfillment choices without advanced plan features. Shopify Help Center+1

This means:

  • You cannot reliably add localized pickup/delivery choices directly in checkout via ManyChat or similar tools.

  • The Cart page is the only fully customizable pre-checkout interaction point.


✅ Recommended Solution for Third-Party Tools

Solution 1 — Add storefront=true to Cart Permalinks

Recommended for all third-party checkout tools
Ensures users land on Cart page instead of directly checkout

Before (problematic):

https://yourstore.myshopify.com/cart/{variant_id}:{quantity}?return_to=checkout

After (correct):

https://yourstore.myshopify.com/cart/{variant_id}:{quantity}?storefront=true

Why:
storefront=true tells Shopify to treat the request as a normal storefront cart, preventing automatic checkout redirects. This ensures customers can review items and select delivery/pickup options first.


🔧 Example: Applying Solution 1 in ManyChat

This same logic applies to ManyChat flows used for local pickup or delivery ordering.

Before

https://yourstore.myshopify.com/cart/{{variant_id}}:{{quantity}}?return_to=checkout

After (Recommended)

https://yourstore.myshopify.com/cart/{{variant_id}}:{{quantity}}?storefront=true

✔ Users land on the Cart page
✔ Local pickup/delivery options can be displayed/selected
✔ Delivery logic is finalized before checkout begins


🧪 Validation Test (For Merchants)

Ask the merchant to open in browser:

https://yourstore.com/cart/52402988581202:1?storefront=true

Success:
✔ Cart page opens
✔ No redirect to Checkout
✔ Local pickup/delivery options available


📌 Summary

Requirement

Why Cart Page Is Needed

Local Pickup & Delivery options

Must be selected before checkout

Shopify checkout limitations

Core checkout customization is restricted without Plus

Third-party tool flows

Should land on Cart first, not Checkout

Permalink best practice

Use storefront=true to avoid unwanted redirects


📚 References


© Rose Perl Technology
Designing commerce workflows that work reliably with Shopify’s platform constraints.

Did this answer your question?