Vertex AI Product Recommendations

Google’s own pricing page works through a retailer that makes 10 million prediction requests a month and retrains one model daily: the bill comes to $3,150, of which $2,700 is for predictions. Importing the catalog and user events costs nothing. Charges arrive only for training, tuning, and predictions, which makes the spend forecastable if you understand the data rules and the caching behavior before launch.

Naming causes some confusion. Google’s documentation now calls the service AI Commerce Search in Gemini Enterprise for Customer Experience, while the extension, its manual, and plenty of older guides still say Vertex AI Search for commerce. They are the same product. This article uses "Google AI recommendations" for the service and the extension’s own labels in the admin steps.

The guide covers the three questions that decide whether this project pays off: whether your store has the event data Google needs, what Google will bill each month, and how to connect Magento 2 step by step using MageDelight’s Vertex AI Product Recommendations extension. It ends with a scenario guide, including the cases where Google is the wrong choice.

How the Pieces Fit

Three parts work together. Google Cloud stores your catalog and shopper events and trains the models. The Magento extension syncs data to Google, tracks storefront events, and draws the recommendation blocks. You supply the Google Cloud project, the credentials, and the traffic. According to Google’s FAQ, the models use only the catalog and event data that you send, so nothing is pre-trained on other retailers’ shoppers.

Data: What Google Needs Before It Can Train

Google refuses to create a recommendation model until the minimum data exists, and its console lists which requirements are unmet. The table shows the headline thresholds from Google’s model creation guide for each model type, using the click-through objective. Conversion and revenue objectives also require add-to-cart events, and the full conditions add a minimum number of active days, so check the console before you plan dates.

Model type

Headline minimum (Google)

Personalized?

Best placement (Google)

Similar Items

No events needed; 100 product SKUs in the catalog

No

Product page

Others You May Like

10,000 product detail page views in the last 90 days, across 100 unique items

Yes

Product page, cart page

Recommended for You

10,000 detail page views and 10,000 home page views in the last 90 days

Yes

Home page; category pages with filter tags

Frequently Bought Together

1,000 purchase events and 100 unique items in the last year

No

Add-to-cart and checkout pages

Buy It Again

1,000 purchase events and 100 unique items in the last 90 days

Yes

Any page

On Sale

10,000 detail page views and 10,000 home page views in the last 90 days

Not stated

Set per block in the extension

Eight rules sit behind those numbers, and each one affects whether training succeeds:

• Use real events only. Google states that good models cannot be built on synthetic data, and its event guidelines say to exclude synthetic and duplicate events. The extension ships commands that generate page view and purchase events, plus a sample data package. Use those in a throwaway Google project to test the wiring, never in the project that trains your live models.

• Send events in real time. Google warns that personalized models perform worse when events arrive in daily batches. Turn on the extension’s live event tracking, and use order and add-to-cart sync only to backfill history.

• Backfill history. Google says most models work best with three months of page view and add-to-cart events, and Frequently Bought Together ideally gets one to two years of purchase history. One to two weeks of detail page views can be enough to start Others You May Like and Recommended for You.

• One currency per catalog. Google supports a single currency per catalog and does not convert. A Magento store with several currencies needs a decision on which one feeds the model.

• Mind the languages. Recommendations detect text language automatically. For countries with different languages, Google suggests separate projects, one per language. Ask MageDelight support how to map store views to projects before you sync.

• Keep personal data out. Google says not to send identifiable information, like email addresses or usernames. It also says to anonymize details. The extension has a Sync Customer Data option that exports customer demographic data. Check exactly which fields it sends, and your consent wording, before switching it on in production.

• Settle product levels first. Magento configurable products have parent and child SKUs. Google lets you choose whether recommendations and events work at parent or child level, but changing that later means rejoining items and returning models.

• Very small catalogs gain little. Google notes that catalogs under 100 items see little benefit, since there are too few products to recommend.

Cost: What You Will Pay

There are two bills: the extension license from MageDelight and the usage bill from Google Cloud. The first is fixed. The second depends on traffic and on how many models you train.

Cost item

Billed by

Price

Notes

Extension license

MageDelight

$399 (Open Source), $799 (Adobe Commerce), $899 (Adobe Commerce Cloud), first year

From year two, updates and support are $259 a year for Open Source, per the product page

Catalog and event import

Google

No charge

Applies to importing and managing catalog and user events

Training and tuning

Google

$2.50 per node hour

Training bills daily while a model is active; pausing or deleting a model stops it

Predictions

Google

$0.27 per 1,000 requests up to 20 million a month; $0.18 up to 300 million; $0.10 above

Only calls to the predict method are billed

Error logging

Google

First 50 GiB a month free, then $0.50 per GiB

Logs kept for one month

Free trial

Google

$600 in credits

Expire six months after sign-up; Google says typically enough to train a model and run a two-week A/B test

Google’s lower-volume example assumes 10 million predictions a month, one model retrained daily (about 150 node hours) and quarterly tuning (about 30 node hours a month on average). That is $2,700 plus $375 plus $75, or $3,150. Applying the same node-hour assumptions to 1 million predictions gives $270 plus $375 plus $75, or $720. That second figure is this article’s arithmetic on Google’s numbers, not a quote. Google’s examples do not show how node hours scale with catalog and event volume, so verify the training line in your own billing report during the free-credit period before you commit.

Four levers control the bill:

• Train fewer models. Each model type is its own training charge. Start with two sections, for example, Others You May Like and Frequently Bought Together, and add sections only after the first two sections show improvement.

• Pause what you do not serve. Per Google, charges stop when a model is paused or deleted.

• Use the extension’s cache. Cache Lifetime accepts 1 to 168 hours, and each cache hit is one prediction you do not pay for. The trade-off is that Google says it's not a good idea to keep old predictions saved because the results get better as time goes on. Things like Frequently Bought Together and Similar Items are not tailored to each person, so they can handle information better than Recommended for You.

• Cap the block size. The extension shows 1 to 10 products per block. Fewer blocks per page means fewer calls.

Set a budget alert in Google Cloud billing before the sync. That way, a configuration mistake will show up as an email invoice.

Prerequisites

• Magento Open Source, Adobe Commerce or Adobe Commerce Cloud on version 2.4.x. The extension shows it works with versions from 2.4.0 to 2.4.9 and it is marked compatible with Hyvä, B2B, GraphQL, and REST API.

• A staging site and a full backup of the web directory and database, as the user manual requires.

• A Google Cloud project with billing enabled and the Commerce API turned on, following Google’s initial setup guide. The extension’s FAQ confirms that you must configure the project and credentials yourself.

• Shell access to run Composer and bin/magento commands.

• Working storefront event tracking (home, category, product, cart, purchase). Without it, only Similar Items can ever train.

Setup, Step by Step

Step 1: Create the Google Cloud Project and Service Account

First, create a project or turn on the service in a project you already have. Google lets you pick either way. Then set up a service account for Magento. The guide shows you how to do this in the console: go to IAM & Admin, then Service accounts, and click Create service account. The guide suggests giving the account the Discovery Engine Admin role. Also add either the Vertex AI User role, which lets you do search and predict, or the Vertex AI Administrator role, which gives full access.

1. Create the service account, for example, magento-vertex-sync.

2. Grant the Discovery Engine Admin. Select the narrower Vertex AI User role unless you need full access.

3. Open the account, go to Keys, click Add Key, then Create key, and choose JSON.

4. Store the downloaded file in your secrets manager. Anyone who has this file can act as that account.

Success looks like this: a downloaded JSON key, a project ID, and a billing budget alert, all done before you touch Magento.

Step 2: Install the Extension

Install the MageDelight Base Extension first, then the module. The manual offers a ZIP method and a Composer method. For Composer, get your public and private keys from My Account, in the Download Extension Packages tab, then run:

composer config repositories.magedelight-repo composer https://packages.magedelight.com/

composer config http-basic.gitlab.magedelight.com $PUBLIC_KEY $PRIVATE_KEY

composer require mage_delight/vertex_ai_recommendations_module

php bin/magento setup:upgrade

php bin/magento setup:di:compile

php bin/magento setup:static-content:deploy

php bin/magento cache:clean

The manual also lists a sample data package. Skip it on any environment that will train live models, for the reason given in the data rules above. Log out of the admin and back in after installing. On Magento 2.3 and later, activation is silent and needs no license key.

Step 3: Connect Magento to Google

In the extension configuration, set Google Vertex AI as the Primary AI Provider and enter the connection fields:

• Google Cloud Project ID: the project where the commerce service is enabled.

• Location: defaults to global, which the manual recommends for most setups.

• Catalog ID: defaults to default_catalog.

• Branch ID and Set as Serving Branch: Branch 0, 1, or 2. Importing into a spare branch and then promoting it lets you check a sync before shoppers see it.

• Service Account JSON: paste the key from Step 1.

Click Test AI Providers, then run the initializer. Per the manual, it tests the connection, creates the catalog, creates serving configs, and verifies recommendations:

bin/magento ai:initialize:vertex

Success looks like this: the connection test passes, and the initializer finishes without errors.

Step 4: Sync the Catalog

SKU and Manufacturer are always exported as Brand. Add the attributes that show how shoppers compare products, such as category, color, size, and description. Google’s main training fields are ID, title, category hierarchy, price, and URL. It recommends useful extras such as color, size, and material. Then export:

bin/magento ai:export:products --store-id=1 --batch-size=50

bin/magento ai:sync:incremental --store-id=1 --type=products --dry-run

bin/magento ai:validate:data-sync

bin/magento ai:vertex:check-catalog

Use --dry-run to see what an incremental sync will do before running it. Google suggests updating the catalog every day. If your build doesn’t already handle this, set up the sync using system cron. When a product is no longer available, mark it as out of stock instead of deleting it. Google says deleting products breaks past events that were linked to them.

Step 5: Send Events and Backfill History

Under Tracked User Events, turn on the events that the extension can track. These include: home page view, category page view, product detail page view, add to cart, remove from cart, cart page view, purchase complete, and search. For history, use these sync options: Sync Orders for purchase patterns (this helps with Buy It and Frequently Bought Together features); Sync Add to Cart Events; and after you’ve done the privacy check above, Sync Customer Data.

bin/magento ai:export:order-history

bin/magento ai:export:add-to-cart

bin/magento ai:test:events

bin/magento ai:verify:events

Watch the Vertex AI Event Sync Log in the admin. Each row shows the event type, visitor ID, store view, sync status and method, and the raw JSON payload, which makes malformed or duplicate events easy to catch. Then open the Data Quality page in Google’s console to see what share of products and events meets Google’s standards.

Step 6: Create and Train the Models

Models are created in Google, and each needs its thresholds met first. In the console, choose the model type and objective, and review the Data requirements met list. Create the model, then wait. The initial training and tuning process takes between 2 and 5 days. During this time, serving configurations only provide dry-run predictions. Google allows 20 models per project. Only 10 of those models can be active at a time.

Back in Magento, open the Vertex AI Model Overview. It shows each model’s state, training state, and data state, with values such as DATA_OK and DATA_ERROR, plus the last tune time. Use Reload per model after Google finishes. A cron setting can refresh model status daily.

Choose the objective with care because it changes the events a model needs. Recommended for You, for example, offers click-through, conversion, and revenue-per-session objectives. The last two objectives also need add-to-cart events.

Step 7: Switch On the Storefront Blocks

The extension provides seven block types: Recently Viewed, Recommended for You, Others You May Like, Bought Together, Similar Items, Buy It Again, and On Sale. Each block type has its switch, display position (home, product or cart page), title, subtitle, and sort order. Match block to page using Google’s guidance:

• Frequently Bought Together on cart and checkout pages.

• Others You May Like and Similar Items on product pages.

• Recommended for You on the home page, and on category pages through filter tags.

• Buy It Again anywhere returning shoppers land.

Turn on Enable Frontend Cache Fallback, which serves browser-cached recommendations when the Google API fails or returns nothing, and set the log cleanup to delete old sync logs on a schedule so they do not pile up. Use Clear Vertex AI Cache whenever you change catalog data or models and need fresh results immediately.

Finally, measure before you declare victory. Google’s own rollout sequence ends with an A/B experiment, and its free credits are sized for one. Track add-to-cart rate and revenue per session for shoppers who see the blocks against a control group. MageDelight’s GA4 Pro with GTM support can carry those events into your analytics.

Common Mistakes and Troubleshooting

• Recommendation model is not ready. The model is still training. Google says to contact support if this lasts beyond 10 days after creation. The dryRun option exists for integration testing only, never for live traffic.

• DATA_ERROR in Model Overview. Open Google’s Data Quality page. Duplicate events and synthetic events are the usual causes.

• Duplicate events. Running both a server-side sync and a browser pixel for the same action can double-count. Pick one source per event type.

• Empty or odd blocks on new products. Google falls back to similar products for items with no history, which makes titles, categories, and descriptions matter. Fix thin source data first.

• Stale recommendations after a catalog change. Cache is the first suspect. Clear it, or shorten the lifetime.

• Weak personalization. Check whether events reach Google in real time or in batches.

• Costs creeping up. Training bills daily on every active model. Pause any model without a live block, and compare billing reports weekly for the first month.

• Slower pages. Each uncached block makes a call to Google. If time to first byte rises, raise the cache lifetime or ask for a MageDelight performance audit.

Which Route Fits Your Store

• Fewer than 100 products, or very little traffic: skip Google for now. Native related products work, and MageDelight’s AI Product Recommendations extension uses embeddings with a self-hosted ChromaDB and, per its FAQ, needs no external AI API key, so there is no usage bill from Google.

• Steady traffic and 1,000 or more orders a year: this is the Google route. Start with Others You May Like on product pages and Frequently Bought Together in the cart. Use the $600 credits for the A/B test. Judge the lift before adding a model.

• Fewer than 1,000 orders each year but good website visits: start with Items (no events required) and Others You May Like and include Bought Together when the number of purchases meets the requirement.

• Several languages or currencies: plan the project structure before any sync. Google suggests one project per language and a single currency per catalog, which affects both architecture and cost.

• Hyvä, B2B or headless storefronts: the extension lists Hyvä, B2B, GraphQL and REST API compatibility. Confirm block placement in your theme on staging, and use MageDelight’s Magento support service if you want hands-on help with the rollout.

Most mid-size stores follow a plan: first check the event volume, then set a budget alert. Next, add the Vertex AI Product Recommendations extension, on the staging area fill in missing data and double‑check everything. Then train two models. Finally, run an A/B test for two weeks. The user manual covers every setting named above.

FAQ

How much does Google charge for product recommendations?

Importing the catalog and events is free. Training and tuning costs $2.50 per node hour. Predictions cost $0.27 per 1,000  requests. This is up to 20 million requests each month. New accounts get six hundred dollars in credits. These credits expire after six months.

How much traffic do I need?

 For products you might like, Google requires 10,000 views of product detail pages in the last 90 days. These views must come from 100 items. Frequently Bought Together needs 1,000 purchase events in the last year. Similar Items needs no events at all.

How long before recommendations appear?

Once data thresholds are met and the model is created, I know that the initial training and tuning will take two to five days, and the time can be longer if the dataset is large. Until then, serving configs return dry-run predictions only.

Does the extension work with Hyvä and B2B stores?

You can see that the product page lists Hyvä, B2B, GraphQL, and REST API compatibility for Magento 2.4.0 to 2.4.9. Try testing block placement on staging with your theme.

Do I need my own Google Cloud account?

Yes. You create the Google Cloud project, enable the service, and generate the service account key. Google bills usage to your account. The extension license covers the Magento side only.