An app adds a surcharge, a fee, or a required add-on at checkout. Will an AI agent's checkout skip it?
In a channel's direct checkout, Shopify says blocks that add surcharges might not display, while Functions run. ChatGPT uses your own checkout.
- When this applies
- A checkout block from an app adds a surcharge, a mandatory fee, an insurance or handling line, an upsell, or collects consent or input, and direct checkout is on for Google AI Mode, Gemini, Microsoft Copilot, or Meta. [2] [3] [1]
- When this does not apply
- ChatGPT sales complete in your own online store checkout, where Shopify states all your customizations, selling strategies, and payment methods are supported. A charge that lives in a Shopify Function also runs in direct checkout. [4] [2]
- Why this matters
- Shopify states that blocks which change what the customer is purchasing, including adding surcharges or other additional charges, might not display in a channel's direct checkout, and that the customer can still complete the checkout. [2] [3]
- What to do, or not do
- List every charge your checkout adds and name whether it lives in a checkout block or a Function. For each block that adds a required charge, either move the charge into price, shipping, or a Function, or turn direct checkout off for that channel until it is moved. [2] [3] [5]
- Sources checked
- September 5, 2026
When a third party is worth paying for, and what you do not have to buy
- When paid help is worth it
- Paid help is worth it only when a required charge cannot be expressed as price, shipping, or a discount and a developer must rebuild it as a Shopify Function. That is bounded development work, not a subscription. [2]
Some stores must charge something at checkout that is not the product price: a deposit, a handling or insurance line, a required add-on, a regional fee. When that charge lives in an app’s checkout block, the question is whether an AI channel’s checkout renders the block. Shopify has answered this in its channel documentation, and the answer differs by route.
Two routes, two answers
Shopify’s agentic storefronts overview describes them. For Google AI Mode, Gemini, Microsoft Copilot, and Meta, a customer with direct checkout activated completes the purchase in the channel’s Shopify-powered direct checkout without leaving the AI channel. For ChatGPT, customers complete the purchase on your online store checkout, in an in-app browser or a new tab.
Shopify’s ChatGPT page states the consequence for that route: because ChatGPT sales happen in your online store checkout, all your customizations, branding, selling strategies, and payment methods are supported. A surcharge block behaves there as it does for any visitor.
The direct-checkout channels are where the question is live.
What Shopify states about direct checkout
Shopify’s Microsoft Copilot page is the most explicit. It states that Shopify Functions, such as shipping, discount, and cart and checkout validation functions, are supported and run in Copilot’s direct checkout, and that automatic discounts and discount codes are supported. It then lists checkout blocks that might not display, including:
- blocks that change what the customer is purchasing, for example changing quantities, adding or removing items, offering add-ons or upsells, or adding surcharges or other additional charges;
- loyalty or rewards experiences;
- address autocomplete and client-side validation;
- blocks that collect customer consent during checkout;
- chat or messaging experiences;
- blocks placed in the checkout header, footer, or payment method section;
- informational-only blocks such as trust badges, reviews, or terms text.
It adds that if you rely on an app to display important information or collect input during checkout, that experience might not be available, that Google Analytics and custom pixels will not fire there, and that the customer can still complete the checkout with an on-screen experience that might differ from your online store checkout.
Shopify’s Google AI Mode and Gemini page carries the same shape: Functions are supported, automatic discounts and discount codes are supported, some checkout customization blocks such as those for custom fields, upsells, or specific validations might not display, and direct checkout is shown only to customers in the United States.
Read plainly: a charge that a block adds may be absent, and the order still completes. A charge that a Function computes is applied.
The decision
For each charge your checkout adds, name where it lives.
- Price, shipping rate, or discount. These are order data, not blocks. They apply in direct checkout.
- A Shopify Function. Shopify states shipping, discount, and validation Functions run in direct checkout. A required fee expressed as a shipping rate or a delivery customization, or a validation Function that blocks an order missing a required add-on, holds.
- An app’s checkout block. This is the case Shopify names. If the block adds a required charge, do one of two things: move the charge into price, shipping, or a Function, or turn direct checkout off for the affected channels until it is moved. Shopify’s Agentic page is where each channel’s access and direct checkout are managed.
Optional add-ons and upsells need no decision. A shopper who never saw the offer has bought the product at its price, which is a sale rather than a loss.
What to check afterward
Place one order through a direct-checkout channel where you can, and compare its total and lines with the same cart on your storefront. That is the observation that settles the question for that channel on that day. Shopify’s own wording is that blocks might not display, so treat a rendered block as a current fact, not a guarantee.
The result is a list of every charge, where it lives, and what you did about the ones in blocks. It proves the expected total for the path you tested. It does not prove that every channel renders the same blocks, or that a channel will keep its current behavior.