AI Product Tools
Troubleshooting

Shop assistant issues

Why the chat widget might not show at all, why it recommends the wrong products, and what shoppers see when something goes wrong.

Most AI Shop Assistant problems fall into one of three buckets: the widget never appears, it appears but recommends stale or wrong products, or a shopper hits a provider error mid-conversation. This page covers all three, plus what the plugin does with a shopper's data.

Before you start

  • The widget needs two things to actually talk to shoppers: Enable Chatbot switched on, and a completed Store Index selected as its profile. Missing either one stops it in a different, specific way, covered below.
  • Everything here applies to the storefront-facing widget. For the admin-side settings pages themselves, see Shop assistant setup.

The widget does not show up at all

Check these in order, this is also roughly how often each one turns out to be the cause:

1. Enable Chatbot is off

AI Shop Assistant General settings showing the Enable Chatbot switch turned off
The single most common cause. Settings → AI Shop Assistant → General.

2. The current page or device is excluded

Check the Placement settings for a page-type or device exclusion that happens to match where you are testing (for example, the widget hidden on mobile, or on the cart/checkout pages).

3. A caching or optimization plugin is serving a stale page

The widget is injected server-side into your theme's footer. A full-page cache can serve a version of the page from before you turned the chatbot on, or a JS/CSS optimizer can strip the inline script that mounts it. Purge your page cache after changing any chatbot setting, and check whether disabling JS minification temporarily brings the widget back.

4. A theme or plugin JavaScript error upstream

Open the browser console (F12) on the storefront. An unrelated script throwing an error before the page finishes loading can block everything that was supposed to initialize after it, including the widget.

The widget deliberately mounts at wp_footer, not earlier, specifically so it never grabs the page's first keyboard-Tab stop ahead of your theme's own skip-to-content link. A theme that defers or delays rendering its footer can make the widget appear later than expected, this is expected behavior, not a bug, but it can look like "it's not there" on a slow-loading page.

The widget shows, but needs an index first

If Enable Chatbot is on but no Store Index has ever finished building, the admin page itself tells you before a shopper ever sees a broken widget:

Store Index Required dialog explaining the chatbot uses retrieval-augmented generation over the catalog and needs a completed Store Index, with a Build now button
The chatbot refuses to run without an index rather than guessing. Build now opens AI Store Index and a basic build finishes in well under a minute for most catalogs.

Once a build finishes, pick it under General → Store Index Profile if it is not already selected.

Recommendations are wrong, missing, or stale

If the widget answers but product recommendations look wrong:

  1. Check the index actually has products in it. Open AI Store Index and confirm Status: Completed with a non-zero product count.
  2. Check it is the profile the chatbot is actually using. Business plans can filter an index to specific categories or tags, confirm the active profile covers the products you expected to see recommended.
  3. A product added or changed recently needs a rebuild. The index only reflects what it last indexed; a plain Build only processes new or changed products, use Force Rebuild if you suspect it missed something.
  4. A product will never appear, regardless of the index, if it is not published, is password-protected, or its catalog visibility is set to "Hidden" or "Search results only". This is intentional and not affected by any index filter setting.

A Store Index build fails, or a scheduled rebuild stops running

Building, rebuilding, or resetting the index can fail with its own specific message instead of a provider error, since none of this involves calling AI:

You seeLikely fix
"The index build failed. Please retry; if the problem persists, reset the index and rebuild."Retry; reset and rebuild if it keeps happening
"The index build is currently locked. Please wait a moment and try again."Wait about 30 seconds for the lock to clear, then retry
"Another index operation is already in progress. Please wait for it to finish before starting a new one."Wait for the running build or reset to finish
"The index settings could not be saved. Please refresh the page and try again."Reload the page and try again
"The on-disk index format is incompatible with this version of the plugin. Please reset the index and rebuild."Happens after a plugin update changes the index format; reset and rebuild
"The on-disk index is corrupted or unreadable. Please reset the index and rebuild."Reset and rebuild; check your host's disk health and permissions if it keeps recurring
"An unexpected error occurred while processing the request. Please try again, and contact support if the problem persists."A fallback for anything not covered above

If a build looks stuck rather than failed outright, confirm WP-Cron and Action Scheduler are actually running (see Background jobs), try a smaller Batch Size if your host times out partway through a batch, and check that your host has free disk space and a writable uploads folder.

Scheduled rebuilds Business can also stop running silently if your license or plan changes. Rather than just not running, the index page names the exact reason:

  • "The last scheduled index update was skipped because the premium version of AI Product Tools is not installed or active on this site."
  • "Your license could not be verified, so the last scheduled index update was skipped. It runs again at the next scheduled time."
  • "Your license needs attention on this site, so the last scheduled index update was skipped."
  • "The last scheduled index update was skipped because your current plan does not include scheduled updates."

A license or plan downgrade also turns the scheduled-rebuild toggle off automatically; turn it back on once the underlying issue (license, plan, or the Business code itself) is resolved.

What a shopper sees when something fails

A shopper never sees a raw technical error. A key or setup problem (a missing or invalid key, an unsupported model) shows as a short, generic notice with a Retry button rather than any detail about what is actually wrong:

Storefront chat widget showing a shopper's question answered with Configuration issue, please contact admin and a Retry button
Shown here for a rejected API key; every merchant-configuration problem reads the same way to the shopper.

For any other failure (an outage, a rate limit, a safety filter), what the shopper sees depends on your Error Display settings:

SettingWhat the shopper sees
Show errors to user: offA fixed, generic line: their message was received and your team will follow up
Show errors to user: on, custom message: onYour own written message, from Error Display settings
Show errors to user: on, custom message: off (default)The same plain sentence a store owner would see on a generator page (see Provider errors), with anything sensitive redacted

Every failed conversation, regardless of which of these it shows, is still queued for you to read and follow up on manually. See Unanswered questions.

A message is rejected before AI is ever involved

A few checks run before a provider is called at all, each with its own wording instead of the provider-failure messages above:

You seeCauseFix
"Too many requests. Please wait a moment before trying again."This shopper (or their IP address) sent more than the per-minute limit, 10 messages per 60 seconds by defaultThe shopper waits a moment; this is not exposed as a setting in the UI
"The chat service is temporarily unavailable. Please try again shortly."The rate limit check itself could not run (a database or server hiccup), not a per-shopper blockCheck your server's health; this is transient
"Message is too long (max 2000 characters)."The shopper's message is over the 2,000-character limitThe shopper shortens the message; a developer can change the limit with the aipt_chatbot_max_message_length filter

These are not provider failures and are not affected by your Error Display settings: the wording above is always exactly what a shopper sees.

A different message, for you specifically

"Invalid security token. Please refresh and try again." is not something a shopper can see: the storefront chat endpoint needs no login or security token at all. You see this one yourself, as the store owner, if you try to reply to a queued message or save a chatbot setting from an admin page a caching plugin served stale. Reload the page and try again.

Before a new conversation starts, the widget can show a short pre-chat form collecting a name, an email, and the first message, gated behind a consent checkbox:

Chatbot pre-chat form with name, email, and message fields and a consent checkbox before the Start Chat button
Shown before the first message of a new conversation, when the pre-chat form is turned on.

A shopper cannot start a conversation without checking the box. What you collect, and where your privacy policy link points, is configured under Knowledge and contact, see Knowledge and contact for the exact fields and what happens to this data.

Troubleshooting