Can I pre-fill a customer's cart before they sign in?

Is there a way to create a cart on behalf of a customer? I want to add items a customer’s cart then have them sign in under their credentials, review the cart and pay accordingly. Is that possible? If so, how?

Hey @gadmsp ,

You might be looking for cart permalinks!

They’re special links that send users to pre-filled cart pages (pre-filled with products of your choosing).

You can find more info here.

Let me know if this helps!

I discovered that I can actually create the customer, add items to a cart for that customer then email them the link for payment. All of this from the backend. There was only one caveat, namely that customer could not log in. I had to go back into their customer record and send them invite for their account. Doing this allowed the customer to process future orders that were completed on the backend.

How did you do this? I can see how to create draft orders and cart permalinks, but I want to prefill a customer’s cart without them having to click a link.

Hi there, @RobFarmLink . Thanks for taking the time to follow up on this older thread! My name is Imogen. It’s good to meet you!

My first thought here would be that a draft order for your customer would fit the bill here! You can create the order on behalf of the customer, and then send them an email invoice where they will click a link to pay for the order you’ve created on their behalf. The only links that your customer’s would need to click would be the links included in the invoice email they receive to pay for their order.

If this functionality doesn’t quite hit the mark for you, are you able to outline what specifically are trying to achieve? I do see that you mention that you want to ‘prefill a customer’s cart without them having to click a link’ but I’m curious to know more about this context; is there a specific link you’re hoping to avoid, or are you just trying to provide a process for a customer to make this purchase for this order with as little clicks as possible?

Hi @Imogen_1 , thanks for jumping back in this old thread. A little more context: we are migrating from another e-commerce system to Shopify next month. On the migration day, there will be 100+ carts in the old e-commerce site that we need to migrate to Shopify and let those customers know they need to log in to review their carts, add or modify cart items, then check out if they want to purchase.

How do you recommend we go about that? The best I can think of is creating a custom cart permalink for each user and mandating that they click the link. But, I was hoping to populate their carts without requiring them to click a specific link as I’m sure we’ll miss some folks that just go directly to the website, log in, and have an empty cart thus creating a bad UX where they might lose their order.

Hi, @RobFarmLink . Thank you for sharing that context! There wouldn’t be a way to do this within Shopify without requiring customers to click a link to complete the order. It may be possible to do this using a third party app, but you’d need to browse through the app store to find apps with this functionality.

Even though Shopify allows you to create draft orders from the admin and send a checkout link to a customer to complete the purchase, there is an important limitation. Draft orders are quite static — once created, customers can’t really modify the cart themselves. If they want to change quantities or swap products, you will need to create the draft again.

Therefore, you’d better check some third-party solutions (something like Magefan Login as Customer, for example), which provide more flexibility here. They allow you to access a customer’s storefront account to prepare the cart directly, while still giving customers full control to adjust quantities, add or remove products, and complete checkout themselves.

This way, you will not only be able to prepare their shopping cart, but also troubleshoot any issues they have in their accounts.