Skip to main content
Question

Why is my Klaviyo abandoned checkout sending me to shop app instead of my Shopify checkout or cart?

  • April 19, 2026
  • 2 replies
  • 31 views

Forum|alt.badge.img

Hi, 
I have sent myself a test Abandoned Cart message and when I click on Return to Cart, it takes me to the Shop app instead of my Shopify store’s cart or checkout screen.    I am using the {{ event.extra.checkout_url}} code.  I don’t want it to take me to the Shop app.  How can I change this?

I appreciate your help.
Thanks!

2 replies

Kylie W
Partner - Silver
Forum|alt.badge.img+35
  • Champion & Partner
  • April 20, 2026

Hi ​@InvertedIntrovert456 
Thanks for reaching out to the Klaviyo Community with your query!

I’ll try and help you with this.

With the email, when you click on a link, can you do so on a device (ie; on your Mobile) where you are not logged into your ShopApp.

Alternatively, can you as a user log out of your ShopApp and then click on the link and see if it takes you to the correct location. 

Let me know how you get on


ArpitBanjara
Principal User II
Forum|alt.badge.img+37
  • Principal User II
  • April 20, 2026

Hey ​@InvertedIntrovert456 

The event.extra.checkout_url variable that Klaviyo uses in abandoned checkout flows is a URL that Shopify makes. 

The problem is that Shopify has set up their checkout domain as a kind of link on iPhones and Android phones. So if you or your customer has the Shop app on their phone and they click on your checkout link from the email the phone will automatically open the link in the Shop app of the browser. Klaviyo cannot stop this from happening because the URL belongs to Shopify.

my suggestion here to fix this problem would be to replace the checkout URL in your email button with a cart permalink. The cart permalink uses your stores cart path of the checkout domain. This means it will not be intercepted by the Shop app and will open in the browser like it should.

Please try this - replace the URL in your button with this code: 

{% with event.extra.line_items as items %}{{ organization.url|trim_slash }}/cart/{% for item in items %}{{ item.variant_id }}:{{ item.quantity|floatformat:'0' }}{% if not forloop.last %},{% endif %}{% endfor %}{% endwith %}?checkout[email]={{ email }}

This code rebuilds the cart from the line items stored on the Checkout Started event and fills in the customers email. So when they click the link they will go to the browser cart with their items ready to go.

One thing to remember is that this method uses the cart path. It relies on the browser remembering what the customer did than a special checkout token that always works. This means if the customer clicks the link on a device than the one they used to shop the cart may not show up.. It does solve the problem of the Shop app intercepting the link for most mobile users who click from the same device.

Let me know if this works and if you have any follow up questions here. I hope this helps

If you are still stuck, feel free to schedule a call with us here - https://flowium.com/lp/klaviyo-agency/

Cheers,

Arpit