Training your Chatbot

Training a bot on an e-commerce store without an integration

Last updated: July 14, 2026

You don't need a native integration to train a capable chatbot for your online store. With website scraping alone - configured properly - ChatLab can answer detailed questions about your products, shipping, returns and policies.

This guide shows the recommended setup: two separate trainings (informational pages and your product database) and the two levels of filtering that keep each one clean.

Integration vs. scraping - what each gives you

  • Scraping (no integration) - a static snapshot of your pages. Great for product descriptions, specifications, FAQs, shipping and return policies, and general store information. It does not know live stock or order status.
  • Integration - queries your live store in real time: product search in your current catalog, up-to-date pricing and availability, and order status lookups.

The best results come from combining both. If you can't enable an integration, a well-configured scrape is a strong baseline.

If your store later connects a supported e-commerce integration (WooCommerce, Shopify, PrestaShop and others), its live catalog appears separately under Training > E-commerce catalog, on the Products and Categories tabs. That catalog is synced from the integration - it is not the same as the scraped pages described here, which remain a static snapshot.

Where to find the filtering settings

Navigate to Training > Links, click Add New Training: Website, then expand Advanced settings. Inside you'll find the accordions used throughout this guide: URL Filtering (Include only URLs that contain / Exclude URLs that contain), Query Parameters, Content Filtering and Scraping Behavior.

Advanced settings in the website training modal

The two levels of filtering (this is the key concept)

ChatLab gives you two independent levels of control in a website training's advanced settings. They are easy to confuse, so keep them separate in your mind:

URL Filtering section highlighted in Advanced settings

  1. URL filtering - which pages enter training. Decides which addresses the crawler keeps. Set with Include only URLs that contain and Exclude URLs that contain (URL substrings, semicolon-separated, e.g. /product;/produkt).
  2. Element filtering - which parts of each kept page become content. Applied after URL filtering, only to the pages that passed it. Set with Include element IDs and Exclude element IDs (CSS selectors: #id for IDs, .classname for classes, semicolon-separated, e.g. .product-description;#tab-description).

Think of it as a funnel: URL filtering picks the pages, then element filtering trims each page down to the valuable content.

Keep less, but more valuable content

RAG chatbots work best when each trained chunk is focused. On a product page, the product's own description is valuable - the surrounding menus, footers, "related products" and upsell blocks are noise that dilutes retrieval and burns training characters. Train on the product content only.

Set up two separate trainings

Splitting your store into two website sources keeps each one clean and easy to tune. Each training uses its own URL filtering (level 1) and element filtering (level 2).

1. Informational pages

Goal: keep the pages that explain your business (About, Contact, Shipping, Delivery, Returns, Warranty, Payment, Privacy, FAQ).

  • Level 1 - URL filtering: in Exclude URLs that contain, list your product and category patterns, e.g. /product;/products;/shop;/category;/collections. This keeps product pages out of this training.
  • Level 2 - element filtering: usually light here. Optionally use Exclude element IDs to drop the global header/footer, e.g. header;footer;#navigation.
  • Prefer training from your sitemap for predictable coverage.

2. Product database

Goal: one focused training over product pages, carrying only each product's own content.

  • Level 1 - URL filtering: in Include only URLs that contain, list only your product patterns, e.g. /product;/products. Everything else is skipped.
  • Level 2 - element filtering: this is where you keep only the product content. Use Include element IDs to capture the product information block, and/or Exclude element IDs to drop store chrome (header, footer, navigation, related products, upsells, sidebars). See the per-platform selectors below.

Per-platform element IDs (level 2 - starting points)

These are values for the Include element IDs and Exclude element IDs fields (level 2). They are CSS selectors, semicolon-separated. Selectors vary by theme - verify against your own store and adjust. The pattern is always the same: include the product information block, exclude global chrome and cross-sell blocks.

WooCommerce

  • Include element IDs: .summary.entry-summary;.woocommerce-product-details__short-description;#tab-description
  • Exclude element IDs: header;footer;.related.products;.up-sells;.cross-sells;#secondary

Shopify

  • Include element IDs: .product__info;.product-single__description;.rte
  • Exclude element IDs: header;footer;.announcement-bar;.product-recommendations

PrestaShop

  • Include element IDs: .product-information;.product-description;#description
  • Exclude element IDs: #header;#footer;#_desktop_top_menu;.block-categories;.featured-products;#search_filters

Magento / Adobe Commerce

  • Include element IDs: .product-info-main;.product.attribute.description;#description
  • Exclude element IDs: .page-header;.page-footer;.nav-sections;.block.related;.block.upsell;.sidebar

Shoper

  • Include element IDs: .productfull;.productfull__description;#product-description
  • Exclude element IDs: .header;.footer;.navbar;.mainmenu;.product-suggested;.basket

CS-Cart

  • Include element IDs: .ty-product-block;.ty-product-feature;.ty-wysiwyg-content
  • Exclude element IDs: .ty-header;.ty-footer;.ty-menu;.ty-product-block__advanced-list;.ty-mainbox-title

IdoSell / IAI

  • Include element IDs: #projector_longDescription;.product_description;#detail_atributes
  • Exclude element IDs: #header;#footer;#menu;.suggestedProducts;.breadcrumb

OpenCart

  • Include element IDs: #tab-description;#product .description;.product-description
  • Exclude element IDs: #header;#footer;#menu;#column-left;#column-right;.related

BigCommerce

  • Include element IDs: .productView-description;.productView-details;#tab-description
  • Exclude element IDs: .header;.footer;.navPages;.productCarousel;.sidebar

Shopware

  • Include element IDs: .product-detail-name;.product-detail-description;.product-detail-description-text
  • Exclude element IDs: .header-main;.footer-main;.nav-main;.product-detail-cross-selling;.cms-element-product-slider

Wix Stores

  • Include element IDs: [data-hook="description"];[data-hook="product-description"];[data-hook="info-section"]
  • Exclude element IDs: header;footer;[data-hook="header"];[data-hook="related-products"]

Other platforms (osCommerce, Abicart, Selly, RedCart, AtomStore, and more)

The same principle applies: open a product page, find the container holding the product name, description and attributes, put that in Include element IDs, and put the global header, footer, navigation menus, sidebars and "you may also like" blocks in Exclude element IDs.

Tips

  • Choose an AI model suited to e-commerce reasoning in the bot's settings.
  • Re-train periodically so descriptions stay current (scraping is a snapshot).
  • Keep informational and product trainings separate so you can tune the URL and element filters of each without affecting the other.

Related articles