Google Shopping Store Management
The ECOSIRE Google Shopping Store Management module integrates your Google Merchant Center account with Odoo through the official Google Merchant API v1. Push your Odoo catalog to Google Shopping, sync inventory, pull marketplace orders (where available), and run promotions — all from Odoo.
Compatibility: Odoo 17 / 18 / 19 Price: $499 (one-time) License: Up to 3 domain activations
Key Features
- Google Merchant API client targeting
merchantapi.googleapis.com(products, local + regional inventory, orders, returns, data sources, merchant accounts, reports) - OAuth refresh-token flow + service-account JWT support
- Multi-account / multi-instance support
- Product feed: title, description, price, availability, GTIN, MPN, brand, attributes, images
- Local inventory + regional inventory sync (
/products/v1beta/.../localinventory+/regionalinventory) - Free listings + Shopping Ads support
- Reports surface (
search_reports) for performance metrics - Returns + shipping providers endpoints
- Webhook handler with RS256 JWT verification against Google's public JWKs (
Authorization: Bearer ...) - OWL 2 real-time dashboard with KPIs and charts
- License-mixin enforced — one key per Odoo SH or on-prem domain
Prerequisites
- Odoo 17, 18, or 19 (Community or Enterprise)
- An active ECOSIRE license key for this module
- A Google Merchant Center account (or sub-account under an MCA)
- A Google Cloud project with the Merchant API enabled
- A service account with the
https://www.googleapis.com/auth/contentscope, granted access to your Merchant Center account
Installation
- Download the module ZIP delivered with your purchase.
- Extract
googleshopping_store_management/into your Odoo addons directory. - Make sure
ecosire_license_client/is also on the addons path (ships in the same delivery). - Restart Odoo and click Apps → Update Apps List.
- Search for ECOSIRE Google Shopping Store Management and click Install.
- Paste your license key when prompted, then click Activate.
Configuration
Step 1: Set up Google Cloud + Merchant Center
- In the Google Cloud Console create (or reuse) a project, then enable Merchant API.
- Create a service account, grant it the
Merchant API userrole, and generate a JSON key. - In Merchant Center open Account → Users & access and add the service account's email with the Standard role.
- Note your Merchant ID.
Step 2: Create an instance in Odoo
- Navigate to Google Shopping → Configuration → Instances.
- Click Create and fill in:
- Instance name (e.g.
Google Shopping — Main) - Merchant ID
- Service account JSON key (paste the JSON file content)
- Default country, currency, language
- Default warehouse and company mapping
- Instance name (e.g.
- Click Test Connection to call the
accounts.getendpoint. - Save and click Activate Instance.
Step 3: Product feed configuration
- Field mapping — map Odoo product fields to Google's required attributes (title, description, link, image_link, availability, price, brand, gtin / mpn, condition, google_product_category).
- Variants — control how variants are exposed (
item_group_id, color, size, material, pattern). - Pricing — choose Odoo price source (sale list, fiscal-position-adjusted, B2C with tax included).
- Sync cadence — set offer-update cron interval (default 60 min) and full feed refresh window.
Initial Sync
- Open Google Shopping → Operations → Push Feed.
- Select the product domain (all sellable / curated subset).
- Click Push Now to send the initial feed. Errors show up in the queue log with the field-level Merchant API rejection reasons.
- Open Operations → Sync Orders if you've enabled the Shopping orders surface.
Dashboard
The OWL 2 dashboard renders:
- KPI cards: live offers, disapproved offers, impressions (Reports API), clicks, conversions
- Health: offer item issues by severity, last full-feed push, error rate trend
- Reports overview: impressions / clicks / orders by date band
- Sync queue with retry shortcuts
Troubleshooting
| Issue | Likely cause + fix |
|---|---|
License is not valid for Odoo version | Confirm the key you pasted matches your installed module version (Odoo 19). |
401 UNAUTHENTICATED from Merchant API | Service account is missing from Merchant Center user list, or the JSON key has been rotated. Re-add or re-paste. |
Many offers disapproved with invalid_value [gtin] | Set the product's GTIN/MPN/brand correctly on the Odoo product template, or mark it as identifier_exists: false for hand-made items. |
| Pricing rejected | Currency mismatch between Odoo price and Merchant Center country settings. Use a pricelist tied to the target country. |
| Webhook signature failed | Make sure you've added Google's public JWK URL to the webhook configuration; the module verifies RS256, not the older HMAC. |