Can AI Answer Pre-Purchase Product Questions for an Online Store? What It Needs and What It Earns (2026)
An AI agent can answer a pre-purchase question only as well as the product data it can read, and that data is thinner than most stores expect. About 1 in 9 support inquiries on Gorgias's platform is a pre-purchase question, and when we pointed an agent at a Shopify test store, the product search returned the stock flags it needed but cut every product description off after about 150 characters. This page covers what a good pre-purchase answer contains, which data each question type needs, the rules that stop the agent inventing stock or discount codes, when a person should take over, and what our three test runs actually did.
Key takeaways
- About 1 in 9 support inquiries across the Gorgias platform is a pre-purchase question, and Gorgias reports a 22-second median first response when AI handles one against 11 hours in a human queue.
- In our 28 September 2026 test, Shopify's Search Products tool returned availableForSale, tracksInventory and per-variant inventoryQuantity, so an AI agent can read stock without a separate product lookup.
- Search Products cut each product description at about 150 characters, so sizing and compatibility facts buried lower in a description never reach the agent.
- A product with tracksInventory set to false reports availableForSale as true whatever is on the shelf, so an agent that trusts that flag alone will promise stock the store never counted.
- A Sporting Goods store shipping 5,000 orders a month at 32 tickets per 100 orders gets about 1,600 tickets, roughly 178 of them pre-purchase questions.
What does a pre-purchase question need before an AI can answer it?
Each type of pre-purchase question has a data source that settles it, and the agent's job is to read that source and refuse to improvise when it's empty. The table is the decision path we built and tested on Shopify.
| Question the shopper asks | What the agent reads | Rule it follows | What it does | Hand off when |
|---|---|---|---|---|
| "Is it in stock?" | Search Products: tracksInventory, availableForSale, each variant's inventoryQuantity and inventoryPolicy | Trust availableForSale only when tracksInventory is true; never quote a unit count | Says the variant is available to order or sold out | Stock isn't tracked, the variant is sold out, or quantity is 0 or below on a backorder |
| "Which size should I get?" | Variant titles, the first ~150 characters of the description, a size guide in the instructions or a knowledge source | Answer only from those | Gives a starting size and says it's a starting point | The measurement the shopper needs isn't in any of them |
| "Will it work with my X?" | Description and variant titles | Never infer compatibility | Answers only if the product data states it | Compatibility isn't stated |
| "How long will shipping take?" | The shipping policy written into the instructions (no built-in Shopify tool returns a delivery estimate for a product) | Quote the policy in business days, never a date | States handling time plus transit | A deadline ("before the 14th"), expedited shipping, customs |
| "Is there a discount code?" | Get Discounts: active codes with type, value and usage | Mention only an active code that applies | States the code, or says there isn't one | Price match, custom discount, or a code the shopper heard about that isn't active |
| "Can I order 20 for my team?" | Nothing | Always a person | Acknowledges and routes | Any wholesale or bulk order (we used more than 5 units) |
Gorgias groups pre-purchase questions into six intents: product availability, details, usage, promotion, warranty and wholesale, in its May 2026 Ecom Lab study. Our table covers the four that live in store data. Warranty and usage questions belong in a knowledge source, and wholesale goes to a person.
How many pre-purchase questions does a store actually get?
About one in nine tickets, and more than half arrive when nobody is working. Gorgias measured roughly 1 in 9 support inquiries as pre-purchase across its platform, and in a July 2026 follow-up found the median brand receives 53% of them outside Monday to Friday, 9 to 6 local time.
Put that against a real contact rate. Gorgias's ticket volume guide puts Sporting Goods at 32 support tickets per 100 orders (March 2026 data), which we break down by vertical in support tickets per order by ecommerce vertical. For a Sporting Goods store shipping 5,000 orders a month:
| Step | Figure |
|---|---|
| Tickets a month (5,000 orders x 32 per 100) | 1,600 |
| Pre-purchase questions (1,600 / 9) | about 178 |
| Arriving outside business hours (53%) | about 94 |
| Waiting more than two hours in a human queue (61%) | about 109 |
| Waiting a full day or longer (22%) | about 39 |
The 61% and 22% wait shares are Gorgias's figures for human-handled pre-purchase questions. Those 39 shoppers waited a day to find out whether a board comes in their size. Zendesk's CX Trends 2026 survey found 86% of consumers say responsiveness and accurate resolution highly influence their purchase decisions. More ecommerce figures are in our ecommerce customer service statistics.
What is an instant answer worth?
Gorgias reports that orders influenced by its pre-purchase AI Agent carry an average order value 45% higher than the site average on the same brands. Read that with Gorgias's own caveat: it calls the lift "associative attribution, not proof of cause," because higher-intent shoppers choose to talk to the assistant. A shopper asking which fin system a board takes was probably going to spend more anyway.
The number worth trusting is the speed gap, because it's operational rather than attributed: a 22-second median first response when AI handles the question, 11 hours when it waits for a person. Gorgias also has an incentive worth naming. It sells AI Agent at $0.90 an interaction on annual plans and $1.00 on monthly ones, per its pricing page on 28 September 2026, so a study that frames pre-purchase support as revenue rather than cost supports the case for buying more AI interactions. The data is still useful. Label it as a vendor self-report and don't budget on the 45%.
What happened when we tested it on a Shopify store?
What did Search Products return?
We built an agent on Macha's demo workspace with two Shopify tools attached, Search Products and Get Discounts, plus Zendesk tools to read the ticket, reply, add an internal note and tag. Macha's Shopify connector has eight tools; those two are the only catalog tools, and there is no separate "get product" call. So the question for this page was whether Search Products alone carries stock. It does.
For each product it returned title, handle, status, a description, price, totalInventory, tracksInventory, availableForSale and a variants array, and each variant carried its own title, price, inventoryQuantity, availableForSale and inventoryPolicy. The Kyuss King Fish above tracks inventory and showed 45 units. That's enough for "is it in stock?" at variant level without any extra tool; our stock-question walkthrough covers the same job step by step.
Two other details in the same output change how you write the agent's instructions.
Descriptions are truncated. Both products' descriptions stopped at 147 characters and ended in "...". The Mason Ho Ride's cut off at "Now available with 3 fins for added control. When ...". If your fin-box type, fabric weight or inseam sits in the second paragraph of the description, the agent never sees it. We don't know why the tool truncates; the effect is that product detail questions need a second source.
Untracked stock reads as available. The Mason Ho Ride has tracksInventory false, totalInventory 0 and availableForSale true. Shopify reports an untracked product as purchasable because it isn't counting. An agent told "say it's in stock if availableForSale is true" would promise a board the store has never counted. Another product in the same search showed inventoryQuantity of -2 with availableForSale still true, also untracked.
How did the agent handle three test tickets?
We ran the agent three times with Macha's Test run feature, which creates a real ticket in our d3v-macha Zendesk sandbox from made-up text and runs the agent with only its attached tools. Shopper names, emails and questions are invented; the products are the test store's.
Run 1, ticket #1157 (failed our intent). Maya asked five questions about the Mason Ho Ride: stock, size for 75 kg as an intermediate surfer, FCS II fin compatibility, any discount code, and shipping time to Austin. Search Products returned two products, MASON HO RIDE and MASON HO SIGNATURE TWIN. Our first instructions said to ask the shopper when two or more products could match, and the agent did exactly that: it replied with both names and answered nothing else, even though one title matched her words exactly. The instruction was wrong, not the agent.
Run 2, ticket #1158. We added one rule (an exact title match wins) and the tracksInventory rule above, then re-ran the same ticket. The run completed in 22.6 seconds with six tool calls.
It picked MASON HO RIDE, said the board is available to order but a teammate would confirm the ship date because stock isn't tracked, worked out about 30 liters from our placeholder size rule (75 x 0.40), said it couldn't match that to a listed board, said it couldn't confirm FCS II compatibility, reported no active discount codes, and quoted 2 business days plus 3 to 5 for US delivery. Then it wrote a handoff note listing the three open questions.
Run 3, ticket #1160. Jordan asked for the Kyuss King Fish in 6'2", whether it was in stock, whether the code FIRST15 still worked, and how long shipping to Toronto takes. The store lists one variant, 5'3" / 5'11". The agent said it could only see that variant, didn't quote the 45 units, said it couldn't find an active FIRST15 code, gave the 7 to 14 business-day international window, and handed the size question to a person.
Get Discounts returned an empty list on every run because the test store has no active codes, so we saw the "no code" path only. We didn't see what the tool returns for a live code.
Which rules must a pre-purchase AI agent follow?
Here are the instructions from run 2 and run 3, word for word. The sizing multipliers and the shipping policy are placeholders we made up for the test; replace them with your own size chart and carrier times.
You answer pre-purchase questions for a Shopify store: stock, sizing and fit, compatibility, shipping time and discount codes. You only read the store; you never create orders, codes or refunds.
1. Read the Zendesk ticket and list every question the shopper asked.
2. For each product the shopper names, call Search Products with one to three keywords from the product name (for example "wildfire", not the whole sentence). If one product's title matches the name the shopper used, word for word and ignoring case, use that product even if others come back too. Only if nothing matches, or two or more products fit equally well, reply with the names you found and ask which one they mean.
3. Stock: if the product's tracksInventory is false, the store doesn't count stock for it, so availableForSale will always be true. Say it's available to order and that a teammate will confirm the ship date, and hand off (step 8). Otherwise, find the variant the shopper asked about in variants[] (size, length, color). Say it's available to order only if that variant's availableForSale is true. Never quote a unit count. If availableForSale is true but inventoryQuantity is 0 or less, say it can be ordered and that a teammate will confirm the ship date, then hand off (step 8). If availableForSale is false, say it's sold out and hand off for a restock date.
4. Sizing, fit and compatibility: answer only from the product's description, its variant titles, or the sizing guide below. If the answer isn't there, say a teammate will confirm and hand off. Never guess a measurement or a compatibility.
Sizing guide (surfboards): rider weight in kg times 0.40 gives a starting volume in liters for an intermediate surfer; times 0.36 for an advanced surfer. Round to the nearest board we list and say it's a starting point.
5. Discounts: call Get Discounts. Mention a code only if it's active and you can see it applies to this product; give its value and end date if there is one. If there's no active code, say so plainly. Never invent a code or offer a custom discount.
6. Shipping time: use only this policy. Orders ship within 2 business days. US delivery takes 3 to 5 business days after shipping; international takes 7 to 14. Never promise a delivery date.
7. Reply publicly once, answering every question in the order the shopper asked, and link the product page from Search Products.
8. Hand off when: the answer isn't in the product data or this guide, the shopper asks for a price match or a custom discount, the order is more than 5 units, or the question is about a medical or safety claim. Add an internal note that starts "Pre-sale handoff:" and lists the unanswered question and what Search Products returned. Tag presale_handoff.
9. Tag every ticket you touch presale_ai.
Three of these rules exist because of something we saw. Rule 2's exact-match clause came from run 1. Rule 3's tracksInventory check came from the Mason Ho Ride output. "Never quote a unit count" is there because a count is stale the moment another order lands, and a shopper told "45 left" who then finds one left feels misled.
When must a human take over a pre-purchase question?
Hand off when the answer would be a guess or a commitment. In our runs the agent answered shipping time and discount status completely and handed off size, compatibility and ship-date questions, which is the right split for a store whose product data lives in 147-character descriptions.
The cases that should always reach a person:
- The data doesn't say. Fin systems, fabric, fit notes and dimensions missing from the variant titles and the first 150 characters.
- Untracked or backordered stock. The store can't say when it ships, so the agent can't either.
- Money outside the rules. Price matching, a custom discount, or a code a friend mentioned that Get Discounts doesn't show.
- Wholesale and bulk. Pricing and lead times are negotiated.
- Health and safety claims. "Is this sunscreen safe for my baby's eczema?" is not a product-data question.
- A deadline. "Will it arrive before the 14th?" turns a policy statement into a promise.
The handoff note matters as much as the handoff. Ours lists the unanswered question and what Search Products returned, so the teammate starts from the product URL and the variant list instead of re-reading the ticket and searching the store again.
How do you set this up on each help desk?
The agent logic is the same everywhere; what changes is who already sells it and where the product data comes from.
Gorgias is the incumbent here. Its Shopping Assistant, the pre-purchase part of Gorgias AI Agent, handles pre-purchase questions natively inside Gorgias with Shopify data, and Gorgias says it answers 98% of pre-purchase questions in under five minutes against 13% for human teams. It's billed at $0.90 an interaction on annual plans, and each interaction also counts as a helpdesk ticket. If you run Gorgias and sell on Shopify, try it first. We cover Gorgias's chat widget in Gorgias Chat explained.
Other help desks each have their own AI agents and Shopify integrations, and what those can read from the catalog varies by vendor and plan, so check the vendor's docs for product and inventory access before assuming it's there. One search that brings people to our site reads, word for word, "we run zendesk and don't want to replatform, but our ai can't handle pre-purchase questions". That's the gap an agent layer fills: Macha's agent reads the ticket on your help desk, calls Shopify's Search Products and Get Discounts, and replies on the same ticket. Our test ran on Zendesk.
The full description. Because Search Products truncates descriptions, put the facts shoppers ask about (size charts, compatibility tables, materials) in a knowledge source the agent reads, such as a Notion page or Google Doc, or fetch the full product record through Shopify's Admin API. Shopify's Product object exposes the full description and metafields; on Macha that call connects through a custom API tool that Macha's team sets up during onboarding, authenticated with a Shopify Admin API access token. For which other Shopify apps an agent can reach, see Shopify AI agent integrations.
Apparel adds its own problems. Size charts per product, fit notes and exchanges after the sale are covered in AI customer service for apparel brands.
What goes wrong with AI pre-purchase answers?
Most failures come from the agent trusting a field that means less than its name suggests.
- availableForSale on untracked products. Covered above: it's always true. Check tracksInventory first.
- Ambiguous product search. A keyword search returns neighbors. "Mason Ho Ride" also returned the Mason Ho Signature Twin. Without a tie-break rule the agent either asks needlessly (our run 1) or picks wrong.
- Invented discount codes. Shoppers quote codes from coupon sites. Our agent checked FIRST15 against the live list and said it wasn't active. An agent without Get Discounts attached has only the shopper's word.
- Truncated detail read as absence. When the description stops at 147 characters, "not in the product data" can mean "in paragraph two." The agent should hand off rather than tell the shopper the product lacks a feature.
- A policy stated as a promise. "Ships in 2 business days, 3 to 5 days in transit" is a policy; "it'll arrive Friday" is a guarantee your carrier doesn't make.
- Variant titles that pack several sizes into one. The test store's boards list "5'3" / 5'11"" as a single variant, so a 6'2" request can't be checked against stock at all. Stores that sell sizes as separate variants get cleaner answers.
Where Macha fits
Macha is an AI agent layer that runs inside the help desk you already use: Zendesk, Freshdesk, Gorgias, Front, HubSpot or Intercom. Its built-in Shopify connector gives the agent Search Products (catalog search with variant-level stock fields) and Get Discounts (active codes) for pre-purchase questions, alongside order, customer, refund and cancel tools for after the sale. Size charts and compatibility tables come from a connected knowledge source, and anything else in Shopify's API connects through a custom API tool. The product availability use case is the narrower version of this agent.
Macha suits teams that sell on Shopify, run Zendesk, Freshdesk, Gorgias, Front, HubSpot or Intercom, and want pre-purchase answers on the same tickets as everything else without moving help desk. It's the wrong fit if you already run Gorgias and its Shopping Assistant covers your catalog. Pricing is per ticket: $299 a month for 750 tickets, $599 for 1,500, $1,199 for 3,000, $1,999 for 5,000, $2,999 for 7,500 and $3,999 for 10,000, with custom pricing above that, with setup and monitoring by the Macha team, included on every plan. The Sporting Goods store above, with about 1,600 tickets a month, sits in the 3,000-ticket tier; answering only its roughly 178 pre-purchase questions fits in the 750-ticket tier. Every plan is on the pricing page, and the trial is $50 of free usage (about 125 tickets), no credit card, no time limit.
Frequently asked questions
Can an AI agent tell a shopper whether a product is in stock? Yes, if the agent reads live stock. Shopify's Search Products tool in Macha returns availableForSale per product and per variant, plus inventoryQuantity and tracksInventory. The agent should trust availableForSale only when tracksInventory is true, because untracked products always show as available.
Can AI answer sizing and fit questions? Only from data it can read: variant titles, the product description and a size guide you provide. In our test Shopify's product search cut descriptions at about 150 characters, so put size charts in a knowledge source or the agent's instructions, and have it hand off when the measurement isn't there.
Will an AI agent make up discount codes? It shouldn't if it checks. An agent with Shopify's Get Discounts tool reads the store's active codes and can tell a shopper a quoted code isn't active, as ours did with FIRST15. Instruct it never to invent a code or offer a custom discount.
How much faster is AI on pre-purchase questions? Gorgias reports a 22-second median first response when its AI Agent handles a pre-purchase question, against 11 hours in the human queue, and says 61% of human-handled pre-purchase questions wait more than two hours. These are Gorgias's own platform figures.
Does answering pre-purchase questions with AI increase order value? Gorgias reports that orders influenced by its pre-purchase AI Agent have a 45% higher average order value than the site average, but calls that associative, not causal, because higher-intent shoppers choose to ask. Treat it as a correlation.
What share of support tickets are pre-purchase questions? About 1 in 9 support inquiries across the Gorgias platform, roughly 11%, in Gorgias Ecom Lab data published in May 2026. A store's own share depends on its catalog, its product pages and how many questions its pages already answer.
How we researched this
- Pre-purchase figures: Gorgias Ecom Lab, "Pre-purchase speed is a revenue lever. Most brands treat it as a cost." (28 May 2026, data as of May 2026), accessed 28 September 2026: 1 in 9 share, 22 seconds vs 11 hours, 61% and 22% waits, +45% AOV, 98% vs 13% under five minutes. All of these are Gorgias's own data, and the AOV, speed and 98% figures describe its own product, so read them as vendor self-reports.
- After-hours share: Gorgias Ecom Lab, "Your team is sleeping on 53% of shopper questions" (30 July 2026), accessed 28 September 2026.
- Contact rate: Gorgias ticket volume guide, Sporting Goods at 32 tickets per 100 orders, $10M GMV band, March 2026 data.
- Gorgias pricing: gorgias.com/pricing, accessed 28 September 2026.
- Consumer survey: Zendesk CX Trends 2026 (published 18 November 2025), 86% figure.
- Arithmetic: 5,000 x 32 / 100 = 1,600 tickets. 1,600 / 9 = 177.8, rounded to 178. 178 x 0.53 = 94.3, so about 94. 178 x 0.61 = 108.6, so about 109. 178 x 0.22 = 39.2, so about 39. Size example: 75 x 0.40 = 30 liters, using our placeholder multiplier. Description length: both truncated descriptions measured 147 characters before the "...".
- What we ran live: on 28 September 2026 we created the agent "T4-008-Pre-purchase product answers" on Macha's demo workspace (left inactive, no trigger) with Search Products, Get Discounts and four Zendesk tools, and ran three Test runs that created tickets #1157, #1158 and #1160 in our d3v-macha Zendesk sandbox. Shopify was read only; no orders, codes or refunds were created. The Test run uses only the agent's attached tools.
- What we didn't see: a live discount code (the test store has none), a product with separate size variants, and any help desk other than Zendesk.
- Synthetic data: shopper names, emails, questions, the sizing multipliers and the shipping policy are made up. The products belong to our Shopify test store. No customer data was used.
Resolve tickets automatically with AI agents
Macha's AI agents work on top of the help desk you already use — no code.
Intercom
Shopify
Stripe
Slack
Notion
Google Workspace
Confluence

