For the complete documentation index, see llms.txt. This page is also available as Markdown.

GEO score

How the GEO score is calculated, what each pillar measures, and how to move it.

The GEO score rates how well a product's data is set up to be understood by search engines and AI shopping assistants. It runs from 0 to 100 and is calculated for every product in your catalogue.

GEO stands for Generative Engine Optimisation — structuring product data so a machine reading your catalogue can tell what the product is, who it's for, and whether it answers a shopper's question.

📸 Screenshot needed — the GEO Score page showing the store average, band distribution, and the per-product score table.

The six pillars

The score is a weighted average of six pillars. Each pillar scores 0, 50, 75 or 100 depending on how complete it is.

Pillar
Weight
What it measures

Description

20%

Length and specificity of the product description

Title

20%

Clarity and length of the product title

Category

15%

Whether the native Shopify category is set

Variants

15%

Pricing, SKUs and readable option labels

Media

15%

Number of images and alt-text coverage

Attributes

15%

Category-specific attributes filled in

Description — 20%

Score
Condition

100

200 characters or more, with no vague filler

50

Under 200 characters, or long enough but containing vague filler

0

No description

"Vague filler" means phrases with no concrete subject — "the item", "this product", "click here", "learn more". A long description that leans on them still scores 50.

200 characters, not 100. The audit flags descriptions under 100 characters as short, but the score only awards full marks at 200. A description can pass the audit and still cost you points.

Title — 20%

Score
Condition

100

20 characters or more

50

10–19 characters

0

Under 10 characters, empty, or a placeholder pattern (Product 1, Untitled, Test, …)

Category — 15%

100 if the native Shopify product category is set to anything other than "Uncategorized". 0 otherwise. There is no partial credit.

Variants — 15%

For a product with real variants:

Score
Condition

100

Every variant priced and has a SKU, and no cryptic option abbreviations

50

Some variants missing a price or SKU, or abbreviated option values

0

Every variant missing a price, or every variant missing a SKU

For a single-variant product (Shopify's "Default Title"), it scores 100 if that variant has a SKU and a price above zero, 50 otherwise.

Media — 15%

Score
Condition

100

3 or more images, all with alt text

75

At least one image has alt text

50

Images exist but none have alt text

0

No images

Three images with complete alt text is the bar for full marks. Two perfect images score 75.

Attributes — 15%

Category-specific attributes — Colour, Size, Material and so on — as defined by the Shopify category you've assigned.

Score
Condition

100

All applicable attributes filled, or the category defines none

50

Some filled

0

None filled, or no category set

Bands

Scores are grouped into four bands, used throughout the app for colour-coding and filtering:

Band
Score

Poor

0–39

Needs work

40–59

Solid

60–79

AI-ready

80–100

AI-ready is the target. It means an AI system reading the product has everything it needs: a real category, filled attributes, a substantive description, a clear title, complete variant data and captioned images.

Every product carries a list of specific actions derived from its own pillar scores — write a description of at least 200 characters, set the category, add three images with alt text, and so on. These appear alongside the score, so you never have to work out why a product scored what it did.

See what ChatGPT sees

The score tells you what is missing. This tells you what it costs you.

Expand any product on the GEO Score page and choose See what ChatGPT sees. Product Pelican asks an AI shopping assistant to describe that product using only the data it can actually reach — the title, the description, whatever metafields you have filled in, and your product photos if image analysis is switched on. Nothing else: no brand knowledge, no other pages on your site.

You then get back, unedited:

  • What an AI agent would say — its answer to the four questions a shopper asks: who is this for, what is it made of, what problem does it solve, and how does it compare to similar products. Where the data runs out, it says so rather than guessing.

  • What's missing — the gaps that limited that answer, in plain language: "No material information", "No sizing guidance", "Nothing that separates this from similar products".

Under the answer, a Based on line spells out exactly what the assistant was given, so a disappointing answer can be traced to thin data rather than a bad assistant.

Fixing a gap

Most gaps come with a Fix button that opens the matching tool right there in the row — description, title, category, attributes, alt text or search listing. Generate a suggestion, accept it, and it saves to the product exactly as it would from the product audit. The product's score and pillars update on the spot.

Once you have applied a fix, choose Re-run check to ask again and watch the answer improve.

📸 Screenshot needed — an expanded GEO row showing the agent's answer, the "What's missing" list, and a Fix button opened into the description tool.

It only runs when you ask. Each press is a single request for that one product. Nothing runs on a schedule, and no results are stored — so re-running always reflects your product as it is right now.

If image analysis is turned on, the photos sent with the check count towards your monthly image allowance, the same as description writing does. If that allowance is used up, the check still runs — the assistant just answers without seeing the photos, and tells you so.

Tracking scores over time

Scores are recalculated live every time you open the app, so a fix shows up immediately.

Separately, a snapshot of every product's score is taken once a day and stored on the product itself, building a rolling 30-day history. That history powers:

  • The 30-day change figure on the Dashboard.

  • The GEO score trend block on the Shopify product page — current score, movement over the last 7 days, and a small chart. See Installation for how to pin it.

📸 Screenshot needed — the GEO score trend block on a product page showing an upward trend after fixes.

A new store has no history yet. Snapshots build up day by day, so trend figures appear once there is more than one day of data. The live score works from the moment you install.

Moving your store average

In descending order of impact:

  1. Set categories. Two pillars, 30% of the score, and it unlocks the attributes fix.

  2. Fill category attributes. 15%, and it's mostly automatic once categories exist.

  3. Write real descriptions. 20%, and aim past 200 characters.

  4. Fix titles under 20 characters. 20%.

  5. Add alt text everywhere, and get products to three images. 15%.

  6. Clean up variant data. 15%, and it usually surfaces real inventory problems.

The product audit has a tab for each of these.

Last updated