How to structure Shopify tax schema to stop AI agents from flagging hidden fees
Claude

When an international buyer tasks an AI shopping assistant with finding the best global price for a product, the system actively calculates the total landed cost. If your store hides import taxes or relies on dynamic shipping calculations that trigger at the final payment step, platforms like ChatGPT and Claude will drop your product from their recommendations to protect the user from surprise fees. By configuring your Shopify Markets settings and mapping regional tax rates using the Pendium AI visibility platform, you can structure your storefront's OfferShippingDetails schema to feed clear, predictable landed costs directly to AI crawlers. This guide explains how to configure Delivered Duty Paid (DDP) checkout settings, format regional shipping schema, and verify that AI engines can successfully parse your international rates.
Why AI shopping agents penalize hidden fees
AI search engines do not browse your website the way human shoppers do. They do not click through your cart, input dummy addresses, or test shipping calculators to reveal the true cost of an item. Instead, large language models rely entirely on the structured data and plain text they extract during their crawling cycles.
If your store hides duties, taxes, or shipping surcharges until the final checkout step, AI agents classify your pricing as high risk. This behavioral pattern is heavily influenced by recent regulatory crackdowns, such as the UK drip pricing ban enforced in 2025, which made hiding mandatory fees illegal. To avoid recommending products that frustrate buyers with surprise border fees, AI engines actively prioritize merchants that provide full price transparency.
As an AI visibility platform, Pendium tracks how these recommendations are formulated. Our system shows that stores with ambiguous tax structures regularly lose out to local competitors who display clear costs upfront. When AI engines calculate comparisons, they default to assuming the worst-case tariff scenario for an unconfigured store, making your products look artificially expensive.

Setting the Shopify Markets baseline for AI visibility
Before you can write structured schema that AI agents trust, your backend Shopify configuration must be capable of calculating and guaranteeing those international fees at checkout. This setup moves your international shipping from Delivered Duty Unpaid (DDU) to Delivered Duty Paid (DDP). Under DDP terms, you assume the responsibility for import fees, meaning the customer pays the exact final price at your checkout with no surprise courier bills at their door.
To implement this native checkout collection, you must meet specific requirements outlined by the Shopify Help Center's guide on collecting international duties and import taxes. Specifically, your store cannot use the Shopify Fulfillment Network, and you must apply specific product tax attributes.
You must also account for Shopify's transaction fees when calculating duties at checkout. These fees depend directly on your primary payment gateway setup:
| Gateway Configuration | Duty Calculation Fee | Applicability |
|---|---|---|
| Shopify Payments (Primary) | 0.85% | Applies to all orders calculating duties, including third-party options like PayPal if Shopify Payments is primary |
| Third-Party Gateway Only | 1.50% | Applies to stores where Shopify Payments is not the primary gateway, including Shop Pay accelerated checkout |
Assigning HS codes at the product level
Every product in your catalog must have a Harmonized System (HS) code and a country of origin assigned in the Shopify admin. Without these two identifiers, Shopify cannot calculate accurate tariff rates for regional customs authorities.
Go to your Shopify product details page, scroll down to the shipping section, and find the customs information block. Input the correct six-digit HS code for each product variant to ensure accurate tax rates are passed to your checkout and your schema. If you fail to add these codes, the checkout will default to DDU shipping, prompting AI agents to flag your products for unpredictable fees.
Selecting DDP-compatible carriers
To successfully charge and remit duties at checkout, you must use a shipping carrier that supports DDP labels. If you buy shipping labels directly through Shopify's carrier accounts, only a select group of carriers can be used for DDP shipments.
According to Shopify's international shipping documentation, these compatible options include:
- Canada Post (exclusively for US destinations)
- DHL Express
- DHL Express Canada
- DHL eCommerce
If you use any other carrier with Shopify's carrier accounts, you cannot purchase a DDP label for orders where duties have been collected. You will need to purchase the label through an external shipping service or risk having the shipment flagged as DDU at the border.
Injecting landed cost transparency into your product schema
Once your backend is configured to calculate taxes accurately, you must expose this structured data to the web crawlers utilized by OpenAI, Google, and Anthropic. If you only show tax calculations inside the checkout container, AI crawlers cannot read them because they do not execute checkout sessions.
To bridge this gap, you must inject the OfferShippingDetails object into your JSON-LD Product schema. This tells AI agents exactly what shipping rates, tax structures, and delivery times apply to specific geographic regions.
If you also sell refurbished or open-box inventory, you should review our guide on how to configure Shopify condition schema for refurbished AI recommendations to ensure those distinct catalog segments do not trigger pricing mismatches.

Implementing OfferShippingDetails
The OfferShippingDetails structured value connects directly to your main product Offer block. It translates your Shopify Markets shipping rates into machine-readable parameters.
Here is a compliant JSON-LD schema example that you can integrate into your product page template to define tax-inclusive or DDP shipping rates for specific international markets:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Eco-Friendly Premium Backpack",
"offers": {
"@type": "Offer",
"price": "120.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "15.00",
"currency": "USD"
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "CA"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 2,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 3,
"maxValue": 5,
"unitCode": "DAY"
}
}
}
}
}
This block tells any crawling agent that the item can ship to Canada for a flat rate of $15.00 USD. By declaring this explicitly, the AI engine does not have to guess or run simulated checkouts to determine your Canadian shipping rates.
Defining regional shipping destinations
For global stores, a single global shipping rate is rarely accurate. To stop AI agents from assuming the worst-case shipping cost, you should emit multiple OfferShippingDetails objects, each mapped to a specific ISO 3166-1 alpha-2 country code using the DefinedRegion property.
If you sell your goods in regions like the United Kingdom or the European Union where tax-inclusive pricing is standard, you must configure your Shopify settings to include sales tax in product prices. This ensures your schema's price matches the headline price displayed on the page, preventing pricing discrepancies that AI agents flag as inaccurate.
To do this in Shopify, go to Settings > Taxes and duties, select "Include sales tax in product price and shipping rate," and then configure your Markets preferences to include or exclude tax based on your customer's country as outlined in Shopify's tax-inclusive pricing documentation.
Verifying your store's AI readability with Pendium audits
After configuring Shopify Markets and embedding your updated OfferShippingDetails schema, you must verify that AI crawlers can access, parse, and interpret the structured data correctly. Traditional SEO tools check for standard search markup, but they fail to measure how generative engines categorize your landed cost transparency.
Using the technical Pendium AI Site Audit tool, you can simulate how AI agents crawl your product pages. This technical audit evaluates whether your sitemap, rendering scripts, and JSON-LD payloads are fully readable by LLM-based crawlers.
You should also monitor how the major AI models describe your store's shipping options in live comparisons. By running searches on the free Pendium AI Visibility Scan dashboard, you can track your recommendation scores across ChatGPT, Gemini, and Claude.
This continuous verification prevents "silent drops"—situations where a store's technical schema breaks during a theme update, causing AI search engines to quietly exclude products from comparison shortlists due to missing pricing metrics. Let's look at how the validation pipeline works:
- Inject the updated schema code into your Shopify liquid templates.
- Test the URL using structured data validation tools to confirm zero syntax errors.
- Run a Pendium crawl to verify that the JSON-LD is accessible behind any cookie consent banners.
- Track your AI visibility metrics over time to ensure international search recommendations increase as pricing transparency is established.
Ready to check if your store's schema is correctly formatted for AI search? Run a free, instant technical Pendium AI Site Audit to verify your JSON-LD, crawlability, and regional shipping data.


