PS PrestaShop Intermediate

DataFirefly Google Shopping — Complete guide

Installation, multi-channel feed configuration, AI assistants, quality score and premium tools of the Google Shopping module for PrestaShop 8 and 9.

Updated Module version 1.4.0

Overview

DataFirefly Google Shopping is a PrestaShop 8 and 9 module that generates Merchant Center feeds compliant with the Google Shopping 2025 spec and adapts them automatically for 6 channels (Google, Bing, Meta Catalog, Kelkoo, Idealo, LeGuide). It ships with 5 AI assistants (Anthropic Claude, OpenAI GPT-4o or Mistral AI), a 0-100 quality score, an AJAX bulk editor, AI Vision image auditing and premium tools (title A/B testing, seasonal forecaster, Google Ads Editor export).

The module creates 12 tables prefixed dfgs_ and 9 back-office tabs under the “Google Shopping” menu. No core override, no modified PrestaShop file.

Installation

  1. In the PrestaShop back office, go to Modules → Module Manager → Upload a module.
  2. Upload the dfexportgoogleshopping.zip file.
  3. Click Install. The module creates its tables, admin tabs and default configuration values.

Requirements: PrestaShop 8.0 to 9.x, PHP 8.1+, MySQL 5.7+ or MariaDB 10.3+, cURL extension enabled. Multistore and multilingual are supported natively.

Creating your first feed

  1. Go to Google Shopping → Feeds and click Add a feed.
  2. Fill in the name, feed type (Products, Local Inventory Ads or Promotions), shop, language, currency and target country.
  3. Choose the target channel: Google Shopping (default), Bing, Meta Catalog, Kelkoo, Idealo or LeGuide. The XML format is adapted automatically per channel (namespaces, attribute renames, length limits).
  4. Configure inclusion filters: categories, manufacturers, exclusion of out-of-stock products.
  5. Save and click Generate. The public feed URL (token-secured) appears in the list — this is what you declare in Merchant Center.

One feed per country/language pair is the right granularity: an FR feed for France, an EN feed for the UK, a DE feed for Germany, each with its own currency.

Google category mapping

In Google Shopping → Category mapping, associate each shop category with a Google taxonomy category (about 6,000 entries, cached 30 days). Two methods:

  • Manual: autocomplete search within the taxonomy.
  • AI auto-mapping: the “Map automatically” button sends your unmapped categories to the AI assistant, which proposes the best match. High-confidence proposals are applied; the rest await validation.

The mapping cascades to unmapped subcategories. The google_product_category attribute and product_type are filled automatically in the feed.

Product overrides

The Product overrides tab lets you force, per product (and per language/shop), any feed value: title, brand, GTIN, MPN, condition, color, size, material, custom labels 0-4, Google category, feed exclusion, etc. Overrides always take precedence over catalogue values.

Bulk editing

The Bulk edit tab displays an AJAX grid of 50 products per page with search by name, reference or ID:

  • Inline editing: click a cell, type the value, hit Enter — the save is immediate (green background = success).
  • Bulk action: tick multiple products, choose a field and a value, click Apply. The “Delete overrides” button removes overrides from the selected products.

CSV import / export and preview

The Import / Export / Preview tab groups three tools:

  • CSV export of overrides or category mappings (UTF-8 with BOM, semicolon separator, Excel-compatible).
  • CSV import with clear semantics: empty cell = no change, asterisk (*) = clear the field.
  • XML preview: enter a product ID and a feed, get that product’s exact XML with detected validation issues. Ideal for debugging a disapproved product.

AI assistants

First configure the provider in Google Shopping → Settings: Anthropic (Claude), OpenAI (ChatGPT/GPT-4o) or Mistral AI, with your API key and model. Recommended models: claude-haiku-4-5-20251001 or gpt-4o-mini (fast, cheap); claude-sonnet-4-6 or gpt-4o for maximum quality.

The AI Assistants tab drives the 5 assistants:

  • Category mapping: matches your categories to the Google taxonomy.
  • Title rewriting: optimises titles per detected vertical (apparel, electronics, books, home, beauty, food) following Google’s recommended patterns.
  • Attribute extraction: infers color, size, material, pattern, age_group, gender from descriptions (confidence ≥ 0.80).
  • GTIN finder: recovers the GTIN from brand + MPN + name, with modulo-10 validation (confidence ≥ 0.85).
  • Disapproval fixing: analyses each Merchant Center disapproval and proposes (or auto-applies at confidence ≥ 0.85) a structured fix.

Every call is logged in the dfgs_ai_log table (provider, model, input/output tokens, duration): you track your AI budget to the cent.

All AI features are optional. Without an API key, the module remains a complete Google Shopping exporter.

0-100 quality score

At every products-feed generation, the module samples 500 items and computes 9 weighted sub-scores: GTIN coverage (15 pts), image coverage (10), image quality (10), title quality (15), description quality (10), category mapping (15), highlight coverage (10), no open critical disapprovals (10), shipping present (5). The total maps to an A+ to F grade on the dashboard, with the 5 highest-impact recommendations on top.

Slack and email alerts

In Settings, fill in an incoming Slack webhook and/or an email address. Three triggers: new critical disapprovals detected during a generation, quality score drop ≥ 10 points versus the previous generation, generation failure. Anti-spam: at most 1 alert per type per 6 hours.

Premium features

The Premium tab groups 5 tools:

  • Search Console analysis: upload the queries CSV export (Search Console → Search results → Export). The module cross-references each query with your product titles and computes an opportunity score (impressions × keywords missing from title × position multiplier). The top 20 opportunities appear with the suggested product.
  • Title A/B testing: two variants alternate in 7-day cycles in the feed. The winner is declared when each variant reaches ≥ 500 impressions with a CTR delta ≥ 5%; it is then applied automatically as an override.
  • Seasonal forecaster: analyses 24 months of order history and tags products in custom_label_4upcoming_season (seasonal index > 1.5 over the next 2 months), bestseller (top 10% of 30-day revenue), declining_trend (≥ 20% drop over 6 months).
  • Image quality audit: in batches of 25, AI Vision (Claude Vision or GPT-4o — Mistral not supported) detects watermarks, promotional text, background type and multiple products. 0-10 score per image, 30-day cache.
  • Google Ads Editor export: directly importable CSV, with ad groups hierarchised by custom labels and per-tag bid multipliers (bestseller ×1.5, upcoming_season ×1.3, on_sale ×1.2, declining_trend ×0.5).

Cron automation

Each feed exposes a token-secured generation URL, shown in the feed list. Crontab example to regenerate every 6 hours:

0 */6 * * * curl -s "https://yourshop.com/module/dfexportgoogleshopping/cron?token=YOUR_TOKEN&id_feed=1" > /dev/null

Generation is streamed: catalogues of 100,000+ products go through without memory saturation.

Troubleshooting

  • Feed is empty: check the feed filters (categories, stock) and that products are active and visible in the shop bound to the feed.
  • Products excluded at generation: check the Diagnostics tab — every exclusion has a reason (invalid GTIN, missing image, zero price…). Use the XML preview for the detail of one specific product.
  • AI call error: check the API key and model in Settings. The dfgs_ai_log journal records failures with their cause.
  • Image audit fails with Mistral: expected — vision requires Anthropic or OpenAI.
  • A tab disappears after a PrestaShop update: reset the module (Modules → dfexportgoogleshopping → Reset) to recreate the admin tabs without losing your data.

Uninstallation

Uninstalling removes the 12 dfgs_ tables, the admin tabs and the DFGS_ configuration values. Export your overrides and mappings to CSV beforehand if you want to keep them.

Was this page helpful?

Still stuck? Contact support