A blog by StabileRewards.

Blog

We Asked Five AI Buyer Assistants About a Shopify Loyalty Program. Only One Got It Right.

Cover Image for We Asked Five AI Buyer Assistants About a Shopify Loyalty Program. Only One Got It Right.
Cade Orin
Author
Cade Orin

Direct Answer
We tested whether major AI buyer assistants could detect a Shopify store's StabileRewards loyalty program. ChatGPT gave the strongest answer and calculated live points for a product. Claude could read the public signals but stayed appropriately cautious. Perplexity could not verify the signal in normal chat. Gemini inferred too much after failed fetches. Microsoft Copilot returned false negatives with confidence. The lesson is simple: publishing loyalty data is necessary, but not enough. AI buyer channels still need discoverable, merchant-corroborated, machine-readable loyalty signals.

Every loyalty app wants to say it is ready for AI shopping.

But readiness is not a slogan. It is a test.

This is the practical problem at the center of agentic commerce: the buyer may never browse your storefront, but the assistant still needs to understand why your store is worth choosing.

So we ran one.

We used a Shopify test store with StabileRewards enabled and asked major AI buyer assistants a buyer-style question:

"Does this Shopify store offer loyalty rewards?"

Then we tested whether each assistant could read the public StabileRewards signal directly.

The answers were not evenly distributed. They were not even close.


What we tested

The store was a Shopify test storefront: Custom Agentic Commerce.

It also had public StabileRewards loyalty signals: a public loyalty summary and a public capabilities JSON.

The public signal says, in agent-readable language, that StabileRewards handles loyalty discovery and reward workflows for that merchant. It also draws the boundary clearly:

  • StabileRewards can expose public loyalty terms
  • StabileRewards can estimate cart-level earning
  • personalized reward lookup requires shopper consent
  • reward redemption requires consent
  • StabileRewards does not handle product search, cart creation, shipping, payment, or order placement

That boundary matters. Public loyalty signals should never expose a shopper's identity, point balance, or reward code.


The prompts

We used the same basic prompts across assistants:

Does this Shopify store offer loyalty rewards?

Can you check whether this store uses StabileRewards or has an AI-readable loyalty program?

If I buy from this product page, are there any loyalty rewards or points available?

Then we gave the assistants the known StabileRewards public signal:

Can you read this public loyalty signal and explain whether this Shopify store offers loyalty rewards?

and the JSON capabilities endpoint:

Can you read this public JSON signal and summarize the loyalty capabilities without exposing customer data?

This was not a lab-perfect benchmark. It was a practical merchant question: if a buyer asks an assistant whether this store has rewards, what happens?


The ranking

Assistant Result What it means
ChatGPT 5.6 sol light Strongest Found the public signal and surfaced live loyalty math.
Claude Sonnet 5 medium Good, cautious Read the storefront and Stabile URLs, but wanted merchant-origin corroboration.
Perplexity normal chat Weak Did not discover loyalty and could not fetch the Stabile URL in chat.
Gemini 3.6 Flash Weak, inferred too much Could not fetch the signal, then filled gaps from assumptions.
Microsoft Copilot Smart Weakest Returned confident false negatives after failed fetches.

The important point is not that one model "won."

The point is that the same public loyalty signal produced very different classes of buyer-assistant behavior.


ChatGPT found the actual reward math

ChatGPT gave the strongest response.

For a $38 Cashmere Knit Beanie, it reported:

  • 95 loyalty points
  • $38 x 2.5 points per dollar
  • $20 minimum qualifying spend
  • no first-order bonus
  • first reward tier: 300 points for $4

That is the behavior merchants want from AI shopping assistants. It did not merely say "this store has rewards." It turned loyalty into shopping context.

That matters because loyalty is not only a post-purchase accounting problem. It can be a pre-purchase decision signal.

If an assistant can say, "buying here earns 95 points," it can start to include loyalty in the buying recommendation.


Claude read the signal, but asked for proof

Claude did something different.

It could fetch the Shopify storefront. It noticed a visible "Stabile Loyalty Rewards AI Agent" label in the store header. It could also fetch and summarize the Stabile-hosted llms.txt and loyalty-capabilities URLs.

But Claude stayed cautious.

It pointed out that the Stabile-hosted signal had merchant_origin: false, meaning the file was hosted by StabileRewards rather than directly on the merchant's Shopify domain. It treated that as useful evidence, but not as a guarantee that a purchase would earn a specific reward.

That caution is healthy. AI buyer assistants should distinguish between:

  • a third-party service claiming a store has capabilities
  • the merchant visibly publishing a rewards page
  • a live quote endpoint returning program terms
  • a consented shopper-specific reward lookup

Those are not the same thing.


Perplexity could not verify the signal in normal chat

Perplexity was the most important caution for this test.

In normal Perplexity chat, it could not verify the loyalty signal. It did not find the loyalty program from the store URL, and when given the Stabile-hosted llms.txt, it still said the endpoint was not retrievable from that environment.

That matters because Perplexity has strong shopping intent. If an AI buyer assistant cannot retrieve or trust the public loyalty signal during a normal buyer conversation, the merchant should not assume the loyalty program will influence Perplexity shopping recommendations.

The lesson: Perplexity should not yet be treated as a proven buyer-facing loyalty discovery channel for this setup.


Gemini and Copilot show the risk of invisible loyalty

Gemini and Copilot both failed in ways merchants should care about.

Gemini could not fetch the Stabile-hosted signal, then inferred a lot from the URL pattern. It described generic capabilities such as multipliers, redemption rules, checkout auto-apply, tokenization, and stacking policies without verifying them from the endpoint.

That is a hallucination-risk result.

Copilot did something worse. It could not retrieve the Stabile signal and concluded the store had no loyalty program. It treated failed retrieval as proof of absence.

That is a false-negative risk.

Both outcomes are bad for merchants:

  • hallucinated benefits can create buyer disappointment
  • false negatives erase a real loyalty advantage

This is why loyalty signals need to be both machine-readable and publicly corroborated.


Shopify-hosted URLs were not enough

One of the most useful findings was about hosting.

The Shopify app-proxy URL lived on the merchant's Shopify domain, but Shopify proxied the request to StabileRewards behind the scenes.

The Stabile-hosted URL lived directly on StabileRewards infrastructure.

In this test, the Shopify-hosted app-proxy URL did not help Perplexity normal chat verify loyalty. The test store's native /llms.txt and /agents.md also failed with robots-policy errors in related checks.

That does not mean Shopify is wrong to protect storefront traffic. It means merchants and app developers need to understand the difference between:

  • human-readable storefront pages
  • Shopify-hosted app proxy URLs
  • platform-native agent files
  • third-party hosted machine-readable signals

They are not equally reachable by every assistant.


What merchants should do now

If you run a Shopify loyalty program, do not assume AI buyer assistants can see it.

Do three things.

Think of this as agentic storefront readiness for loyalty: one human-readable page, one machine-readable loyalty manifest, and no private customer data in public.

1. Publish a normal storefront rewards page

A plain public page still matters.

Use language shoppers and AI buyer assistants can both understand:

  • how points are earned
  • minimum spend
  • reward tiers
  • whether the program applies to AI-assisted purchases
  • whether shopper-specific lookup requires consent

Do not hide the entire loyalty story behind an app widget.

2. Publish a machine-readable signal

AI buyer assistants need structured, low-ambiguity data.

At minimum, the public signal should answer:

  • does this merchant have a loyalty program?
  • what can be checked anonymously?
  • what requires shopper consent?
  • who handles checkout and payment?
  • where can an agent get public capabilities?

It should not expose:

  • customer identity
  • point balances
  • unused reward codes
  • account-specific eligibility

3. Separate public terms from personalized rewards

This is the privacy boundary.

It is fine to publish:

Members earn 2.5 points per $1 on eligible orders over $20.

It is not fine to publish:

Yang has 850 points and can redeem code RWD-...

Personalized rewards belong behind consented lookup, not in public catalog or storefront data.


What app developers should learn

The old loyalty app pattern was visual:

  • add a widget
  • show a points banner
  • send an email
  • apply a code

The AI shopping pattern is more layered:

  • public merchant claim
  • machine-readable capability signal
  • anonymous quote
  • consented personalized lookup
  • bounded redemption
  • checkout handled by the merchant or commerce platform

Agentic commerce needs loyalty systems that separate public discovery, pre-checkout quote, consented identity lookup, and checkout-safe redemption.

If your loyalty system cannot expose those layers separately, assistants will either miss you or make things up.

Neither is acceptable.


The real conclusion

The StabileRewards signal worked.

But discovery was uneven.

ChatGPT used it well. Claude read it and asked for corroboration. Perplexity could not verify it in normal chat. Gemini inferred too much. Copilot missed it and declared it absent.

That is the state of AI shopping in 2026: promising, fragmented, and unforgiving to vague signals.

For Shopify merchants, the takeaway is practical:

Make loyalty visible twice: once for humans on your storefront, and once for AI agents in a public, machine-readable signal.

If an assistant can see both, it has a much better chance of treating loyalty as real.

And if it can treat loyalty as real, your store has something more durable than a price match.

It has a reason to be chosen.


Get started

Make loyalty visible before the buyer reaches your store.

StabileRewards helps Shopify merchants publish public loyalty signals for AI shopping agents, estimate reward value before checkout, and keep personalized balances and reward codes behind consented flows.

Free to install · Pay on results: 1% of reward value redeemed + $0.05 per AI-channel transaction · No charge if no rewards are applied.

Install from the Shopify App Store ->

Share