The Audit That Decides Whether AI Recommends You or Your Competitor

Share

Most Fashion Brands Don’t Do This Critical Step

About eight months ago I was asked to help a fashion brand on their agentic ecommerce readiness. The brand was four weeks out from their biggest drop of the year. Paid was dialled in, creative brief was solid, their email list had been warming for three months. On paper, strong setup.

I analysed their product schema from a sample of 20% PDPs SKUs using Screaming Frog. GTINs were mapped on 38% of the product catalogue. They were mostly core styles that had been on site for a while. The new drop SKUs, the ones that were about to drive the whole campaign? Blank. No GTIN data, no brand field, manufacturer field missing on most of them.

This isn't unusual. In fact I'd say it's the norm for brands that have done their structured data work once and moved on. The problem is that from an AI agent's perspective, those new SKUs might as well not exist as verified products. They're unresolved entities. And if you're running a drop model where everything rides on a concentrated traffic window, you want those products to be as machine-verifiable as possible before that window opens.

This article is the practical companion to something I wrote recently about entity trust and AI-native discovery. If you haven't read that, the short version is: AI agents use structured data to determine which seller is the legitimate source of a product. And, if there is more than one retailer selling the same GTIN then that you are the most trusted source.

IMPORTANT! Agentic agents act as fiduciary to their users so they will only recommend sources that it knows are trusted and legitimate. If it’s in any doubt it will not recommend your product.

The more coherent your entity data, the more confidently they'll recommend you. The less coherent, the more ambiguous you become. Ambiguity is where counterfeit operations have a disadvantage.

Here's how I run the audit. It takes a few hours spread across two or three people. I'd build it into your pre-drop preparation at least four weeks out.

Start with your GTIN

This is always where I start because it's usually where the biggest gaps are, and it's the most concrete thing to fix.

Pull a full crawl of your PDPs using Screaming Frog or whatever crawler you use. Extract all structured data and filter for Product schema. You're looking at two things: how many PDPs have product schema at all, and of those, how many have a GTIN populated in the gtin8, gtin12, gtin13, or gtin field.

I typically find one of two scenarios. Either structured data exists on collection pages but not on PDPs or it's on PDPs but the GTIN field is empty, or populated with placeholder data like "0000000000000.”. Either way, it needs fixing otherwise you’ll be by-passed and your competitors who has better data will be recommended.

For every GTIN you do have, cross-reference it against GS1's Verified by GS1 tool (gs1.org/services/verified-by-gs1). It’s free to use, thirty seconds per GTIN. What you're checking is whether the GTIN resolves to your brand. If it resolves to a generic entry, a different company, or returns nothing, that's worth fixing before launch.

New SKUs are almost always the failure point here. GTINs need to be assigned and mapped before a product goes live, not after. If that's not already in your pre-launch product setup checklist, add it now.

One more thing in this layer: check that your brand and manufacturer fields are actually populated in the Product schema and not just the product name, but the brand entity itself. I've seen sites where the product name is there but the brand field is empty, which means the product has no declared relationship to your organisation in the data. Small gap, easy to fix, worth doing.

Check your Organisation schema

Run Google's Rich Results Test on your homepage and a few key category pages. You're checking that your Organisation schema exists and that it's rendering correctly. Ensure it’s not broken by a JSON formatting error or a missing closing bracket.

The field I see most often misconfigured is sameAs. Pull every URL in your sameAs array and actually open them. Don’t just check whether they look right. Open them and verify they resolve to a current active profile that matches your brand name. I've audited brands where a sameAs link pointed to an Instagram handle that was changed two rebrands ago, or a LinkedIn URL that 404s because the company page was recreated with a new slug. Both of those are worse than having no sameAs at all, because they signal an entity with contradictory data. Remember, AI loves certainty and really dislikes uncertainty.

While you're in here, compare your Organisation name and legalName fields against how your business is listed in Google Merchant Center. If your schema says "Brand X" and Merchant Center says "Brand X Ltd" and your LinkedIn says "Brand X — Official," you've got three slightly different identity declarations that any system trying to resolve your entity has to reconcile. Tighten these. They should be exactly consistent.

If you're EU-based or have a registered VAT number, add your vatID to the Organisation schema. These are verifiable legal identifiers a counterfeit operation won't have. They're a five minute addition that add a layer of real-world verifiability most brands skip.

The Human in the loop

I'll be direct: most ecommerce teams haven't touched this and don't see it as their problem. It lives in the gap between technical SEO and comms, so nobody owns it and nothing gets done.

It's the layer that's hardest for a bad actor to replicate and easiest for a legitimate brand to implement if someone makes the decision to do it.

Check whether your key people such as CEO, C-Level staff, or whoever has a public-facing role have person schema entries on your site linking back to your Organisation via the worksFor property. Then check whether the LinkedIn URLs referenced in that schema are current and actually match the profile. This adds another layer of credibility.

If anyone on your team publishes content on your site such collection notes, brand stories, trend pieces then that content should have author markup pointing to their Person entity. This creates an authorship trail a ghost-run operation cannot manufacture.

This layer takes the least technical effort but the most organisational wrangling. Start small. Two or three people, done properly, is more valuable than nothing.

Validating what you've changed

Once updates are in, run everything through validator.schema.org and the Rich Results Test again. Check Search Console's structured data report for any new errors. If you've made significant changes, allow two to three weeks for re-crawling before drawing conclusions about impact.

The thing I tell clients is: you're not trying to be perfect. You're trying to be significantly more coherent than the alternative. You don’t need to be much better. Just slightly better.

A counterfeit operation running scraped data from your site will always have a shallower, less consistent entity than a brand that's been building this deliberately. The audit isn't about achieving a score. It's about widening that gap before a drop window opens and every click matters.

Four weeks out is the right time. Far enough ahead to fix what you find. Close enough that you're thinking about it in the right context.

It's not glamorous work. But I've seen the difference it makes when an AI shopping agent is fielding hundreds of "where do I buy the new collection?” queries in a 48-hour window. The brand with the cleaner entity wins that retrieval. The one that hasn't looked at this stuff in two years is competing on budget alone and that's a fight you'll lose eventually.