Oops! This email does not have permission to open a ticket. Please contact responsible for your store to provide access.

Google Shopping - FAQ Internal

THIS IS A FAQ FOR INTERNAL USE ONLY.

This guide is intended to indicate solutions to problems that may arise in Google Shopping Integration. This article is divided into 3 sections: "Questions", "Ads/Products" and "Settings"

NOTE: If you can't find your answer below and need to open a call with the Connections team, you must ask the customer to provide access to their Google Merchant account to the the following emails:

GOOGLE SHOPPING TRAINING

Have you watched our training? Here we show the integration setup, authentication, common errors and it's possible causes.
https://vtex.slack.com/archives/C928RF5PC/p1609936369293200  

 

DIAGRAM | PRODUCT INTEGRATION FLOW IN GOOGLE SHOPPING

mceclip0.png

QUESTIONS | PRODUCTS


Q:
What can cause price/stock divergence in Google Shopping?
A: Before starting an analysis, check if the seller uses Native integration (API) or XML, in the case of a Native integration the investigation follows with Connections team, if it's XML it must be verified with the Merch team. Considering these points, we recommend reviewing the following settings:

[VTEX Configuration]

Step 1. Check if the account is authenticated;
Step 2. Check if the endpoint has been correctly configured for the Google Shopping affiliate;
Step 3. Check the configurations running a checkout simulation , using a sample sku 
Step 4.  Check if the product is linked to the Trade Policy of Google Shopping
Step 5. Check if the SKU has a fixed price registered
(fixed price context following the FAQ)


[Splunk]

Step 1. Check if the broadcaster is receiving notification for price/stock change:
index=ccnotificator account=test 2148137


Step 2. Check the log if the price/stock is being sent correctly to the marketplace:
index=sellercenterintegration account=teste 


[Merchant Center Setup]
Step 1. Ask the seller for access to the Merchant Center;
Step 2. Automatic Improvements > Enable automatic updating of items > We recommend that the seller keep this switch turned off, as the integration already updates for price/stock, it's not necessary to enable. When enabled in a native integration it can cause conflict and divergence in price.
Step 3. What value is being written in the field "Raw feed attributes: account API"? This field within the Merchant Center is the most important, this is where the seller can validate what the integration is sending to google.

[Crawler google]
After that, who is responsible for updating the information is the google crawler, which visits all the product pages. When the crawler cannot see the price correctly, there is probably an error related to the structure of the page.

This google tool can help investigate errors related to page structure: https://search.google.com/test/rich-results?id=ajJ9-HfCwo7rJUd13N1glg 

[Important]
As an integration, we do not have control of the structure and customizations of the product pages, but there is some documentation that can guide the agency/seller:

Configuring discounts for orders prepaid in full on Google Shopping:
https://help.vtex.com/en/tutorial/configuring-discounts-for-orders-prepaid-in-full-on-google-shopping--40K3R5d4NogMvCzIWdWt3e 

Using Checkout API to set a discount:
https://developers.vtex.com/vtex-rest-api/docs/using-checkout-api-to-set-a-discount 

[Understanding Price Update Flow - Non VTEX Seller Products]

Q: I would like to better understand the price update flow in Google Shopping integration for non-VTEX seller products that use EXTERNAL HUB  for catalog integration with VTEX.
A: When the Marketplace is external, the flow must be seen with #team-marketplace. All external sellers need to notify the marketplace when the price changes, and this needs to be enough for the marketplace's own flows to update their data where necessary (like other external integrations). To confirm if the connector is updating correctly, it's possible to force a notification, if the broadcaster is notified then the connector is ok.

[Notification - Price]

http://{{AccountName}}.vtexcommercestable.com.br/api/notificator/changenotification/{{Idsku}}/price 


[Notification - Inventory]

http://{{accountName}}.vtexcommercestable.com.br/api/notificator/changenotification/{{Idsku}}/stock 


[Notification - Product]

http://{{AccountName}}.vtexcommercestable.com.br/api/notificator/changenotification/{{Idsku}}  


Q:
Why some skus show a diference of -5% in the Merchant Center over the value registered in the VTEX Catalog? 
A: In these cases, check if the key "Consider discount for payment with Boleto ( Bank Slip ) on the price sent (Discount in cash)" is enabled. If so, the seller has enabled the payment method by bank slip, that is, the price of the product sent to Google Shopping will be the value with this discount. The integration will send the sku price considering the discount. (The key is inside the GS integration setup card).

 

Q: Will Google Shopping products without update expire in 30 days ? 
A: Yes, no action is required from the seller . A system is in place that control this and sends Google an update every 30 days. 

 

Q: How is the item_group_id attribute filled in the XML native integration ? 
A: Here is how it works: ItemGroupId = sku.ProductId, this means that it will look and grab the  ProductId.


Q: Is it possible to somehow configure the item_group_id in the XML native integration ?
A:No, because it gets this information from a Get in the product inserted in the GoogleShopping

 

Q: Is it possible to send customlabels to Google Shopping using the Native Integration? 
A: Yes, it is possible to manage custom tags in VTEX Google Merchant Connector.
If the product has a specification field, the connection will send it. 
As you can see below, the fields marked with  (*) in Google , are custom.

 

mceclip0.png

Q: How does the integration of the promotional price works ?

A: The integration sends the price defined in the commercial policy linked to Google Shopping". If there is an offer price (From/By), only the "Per" price will be sent.

If there is a cash discount promotion (promotion subject to the BOLETO payment method), this benefit will be applied to the value of the product before shipment. If this boleto discount flag is enabled on the configuration card.

 

Q: How does the "Do not send EAN (GTIN)" flag work?

A: When the client sets this flag in the configuration card, the skus are sent to Google with the field “gtin”= null in the Json. But there is a rule in Google shopping about submitting some properties. When we don't send the "Gtin" ,in the case Gtin=null, Google requires the "mpn" field to be filled (mpn is the manufacturer's code).

If the mpn is not filled in in VTEX, the integration also sends this field as “null”.

These products appear on Google Merchant with an alert when we send them like this, but this does not invalidate the product and they can be be sold normally, however performance can be degraded.

Additional documentation: https://support.google.com/merchants/answer/6324482?hl=pt-BR

 

Q: When does the integration update the product feed?

A: The integration will update in two situations:

  • Initial update. (When the merchant sets up the integration.)
  • Whenever there is a change in the catalog. (SKU, price and stock.)

 

Q: How does the SKU updating flow work?

A: Sku reindex > Sku enters a queue (this queue is shared with all other accounts) > Skus will be reprocessed based on the queue  order > If the Sku has an error in reprocessing, or it is re-queued or discarded > It goes back to the end of the queue.

 

Q: Is it possible to change image of an already integrated sku successfully?

A: Yes, the integration is notified whenever the sku is updated (re-indexed)

 

Q: What is the average time to update a sku on GS?

A: It is hard to predict as it will depend a on the queue size > It is necessary to analyze the log + data and understand if this sku went back to the end of the queue (because it received an error or was reprocessed). Please remember that if the Sku displays an error in the processing, it is either re-queued (going to the end of the queue) or discarded. Query to analyze log: index=gsintegration account= {{idsku}} 

INVESTIGATIONS | PRODUCTS

 

Scenario: "Sku does not integrate with Google Shopping."
How to investigate:
First step, do a checkout simulation using Postman. Here you can understand what is the situation of the sku in the moment of the integration.
In the example below, the checkout showed us an error: " A communication error with the Catalog occurred - Accessed denied to the seller 1 Neste exemplo checkout retornou erro: "Ocorreu um erro de comunicação com o Catálogo -  Seller 1 does not have authorized access to the sales channel 26".

 

 

[What is the meaning of this error?]

This error is usually related to the store's binding configuration​. You need to associate the commercial policy of Google Shopping (IdPoliticacomercial) in the {{Account}} binding. After performing this process, it indexes the products to be updated/sent to GS.


How it works?

https://help.vtex.com/en/tutorial/o-que-e-binding

mceclip0.png

 

Understand more about trade policies and website binding

https://help.vtex.com/tutorial/como-funciona-a-relacao-entre-websites-e-politicas-comerciais

Scenario: "Sku price not updated on Marketplace."

How to investigate: First step, analyze if the sku has a fixed price registered in the catalog and if it has been updated.

Yes, Fixed price has been updated > Skip this step and proceed with the next review (Stock/Price is not being updated (how to investigate))

No, it does not have a fixed price > In this case, the integration is not notified of a price change. Only "Fixed Price" changes generate notifications to the broadcaster.

 

 

Update price for marketplace

https://help.vtex.com/en/tutorial/updating-price-to-marketplace--tutorials_384

 

Fixed Price - Concept Definition

https://help.vtex.com/en/tracks/precos-101--6f8pwCns3PJHqMvQSugNfP/3HxF2u5VwidqnUGnFoKdDy?locale=en

 

I still have questions about updating the fixed price.

This is the documentation from the Merch team that explains how fixed price upgrade works.

https://help.vtex.com/en/tracks/precos-101--6f8pwCns3PJHqMvQSugNfP/3HxF2u5VwidqnUGnFoKdDy?locale=en

 

[ATTENTION: ONLY CHANGES MADE  TO THE FIXED PRICE TRIGGER PRICE CHANGES NOTIFICATIONS TO THE EXTERNAL MARKETPLACES]

 

TheSeller does not use "Fixed Price" what to do in this case?

If the seller wants prices to notify for non-fixed price updates, they can define a price rule, even if empty for that specific policy the pricing workflow of pricing notification will call the broadcaster.

 

How to configure this price rule?

Go to Admin > Products > Prices > Pricing Rules > New Rule >

mceclip0.png

 

New rule: What are general rules that I should use ? Select the commercial policy (we recommend creating a rule for each existing commercial policy in the store).

On which items will this rule be applied? Select the option "Apply to all products"

mceclip1.png

 

For the other fields no selection is necessary > Click on "Save". Perform the same procedure for other trade policies.

mceclip2.png

Scenario: "Sku does not integrate. Error message "insertion error: Ineligible Sku."

How to Investigate: To better understand the status of the sku you are trying to integrate, the ideal perform a fulfillment simulation:

cURL

curl --location --request POST 'https://{{Accountname}}.vtexcommercestable.com.br/api/fulfillment/pvt/orderForms/simulation?sc={{Pol%C3%ADticaComercial}}&affiliateId={{Afiliado}}' \
--header 'Content-Type: application/json' \
--data-raw '{
 "items": [{
   "id": "32309",
   "quantity": 1,
   "seller": "1"
 }],
 "marketingData": null,
 "postalCode": "22250040",
 "country": "BRA",
 "selectedSla": null,
 "clientProfileData": null,
 "geoCoordinates": [],
 "isCheckedIn": false,
 "storeId": null
}'

"Price" to validate if the sku has a valid price; In the result of this simulation it is necessary to analyze the following fields:

  1. Stockbalance” to validate if the sku has stock;
  2. Message” to validate sku availability.

If the above information is all correct, try to reprocess the sku. If the error message persists, it is necessary to open ticket with the Connections team, sharing the analysis done above.

 

Scenario: "Seller White Label does not update price on Google Shopping".

How to Investigate: It is very important to remember that the integration is passive, that is, it will update the GS with what CHK returns, considering this, the first step is to understand how the seller was configured:

  • Which integrator does the seller use to notify VTEX?
  • Which VTEX route does the integrator uses to notify these SKU changes, be it price or stock?

If you do not have any integrator, check with the seller how the integration was created and which routes are being used for price and stock notification.

Second step: When the seller has a store that operates as an Marketplace, receiving prices and stocks from several sellers, to notify the integrations of possible changes we must use the routes from the documentation.

Third step: Check which route is being used to notify the Marketplace. To notify marketplace, these are the routes found in the documentation here → Notification , to change the price use this route here

How does communication work?

External Seller → VTEX MKP Store → Broadcaster → Affiliates → Marketplaces

 

Scenario: "Sku has GTIN(EAN) error even with GTIN(EAN) filled."

How to Investigate: This usually occurs when gtin/ean has an invalid format. If the client does not have valid Gtin to use on the skus, it is possible to use the configuration key on the Google card, in which case google will ignore gtin registered because the integration sends this field as null.


NOTE
: All Barcodes supplied to Brazil must MUST start with the sequence "789". Currently in Brazil, all prefixes are released with the beginning "789".


In this documentation, google explains the accepted formats: doc google

Scenario: "Products do not appear in Bridge".

How to Investigate: Usually this issue is related to Google Shopping settings, to identify the cause of this issue, you need to follow the steps below:


Step 1. Check if the account is authenticated;

Step 2. Check if the endpoint has been correctly configured for the Google Shopping affiliate;

Step 3. Check if the card settings are consistent with the affiliate's information;

Step 4. Check if the product is linked to the GS commercial policy;

Step 5. Using a sample/test SKU do a checkout simulation.


Scenario: "Even with correct settings, product does not update price".

How to Investigate: Before proceeding with the investigation, you need to understand how the Price and Inventory Update Flow for the Marketplace works:


Customer changes stock/price in catalog/pricing -> catalog/pricing notifies Broadcaster -> Broadcaster notifies integration -> integration changes stock/price in marketplace.

  1. First half of flow = Team Merch
  2. Second half = Team Connections

It is necessary to investigate each step to identify the flow failure. Since in Google Shopping there is no stock quantity sent (only available or unavailable sku), we will only look into the price update portion of it:

1. Customer changes price in Pricing:

Check information change history in splunk. Here you can the date and time data of the last update.

2. Pricing notifies Broadcaster:

The Broadcaster (or ccnotificator) is the sub-system responsible for distributing and triggering notifications on any change in product, price or stock to each of the affiliates. In order for it to trigger this information, it is necessary for it to be notified of any change that has occurred.

 

Therefore, it is necessary to search for the notification log in splunk.
If it's price, search for the following query: index=ccnotificator account={{accountName}} workflow_instance={{idSku}} workflow_type=EnqueuePriceChangeNotification


If on the date and time when the information was last changed (step 1) there are no notification logs, the flow failure must be dealt with by the Merch team.

3. Broadcaster notifies integration:

After the broadcaster is notified that there has been a change in information, it is necessary for it to send this information to all affiliates.

Therefore, you need to check the splunk for logs that this information has been sent.

For price, search for the following query: index=ccnotificator account={{accountName}} workflow_instance={{idSku}} workflow_type=NotifyAffiliatesAboutPriceChangeAsync

If this log shows an error message “A communication error occurred with the product catalog. Seller 1 unauthorized access to sales channel “x”.” it is necessary to verify the binding for the commercial policy registered in the marketplace (both account and sub-account).


If this log is pointing to an endpoint other than “https://portal.vtexcommercestable.com.br/api/googleshoppingintegration/notification?accountName={{account}}” it is necessary to adjust for this endpoint, as the customer most likely has made a manual change to it.

In case this log presents an unidentifiable error, the flow failure must be dealt with by the Connections team, and it is essential to include in the ticket the query used in splunk and the error identified

4. Integration changes the price on the marketplace:

Considering that step 3 was performed successfully in the flow, it is necessary to check now if the integration made the necessary change in the marketplace.

 

In the case of Google Shopping, you need to check in the splunk logs for data showing the sending of this information, search for the following query: index=gsintegration accountName={{accountName}} idSku={{skuId}} action=PRODUCT_INSERTION


In case this log presents an unidentifiable error, the flow failure must be dealt with by the Connections team, and it is essential to include in the ticket the query used in splunk.


If this log has a different value from the one registered in the VTEX admin or in the Pricing module, it is necessary to perform a checkout simulation to analyze which stock and price information is being passed on to the integration, as the integration uses the returned information by the checkout simulation to consult the stock and price values ​​that will be sent to the marketplace.

Checkout API:

 

POST http://{{accountName}}.vtexcommercestable.com.br/api/checkout/pvt/orderForms/simulation?sc={{commercial policy}}

 

  1. If the checkout simulation returns the same value that the integration sent, then this is indeed the value registered in the sku. It is necessary to understand with the Checkout team the reason for the divergence of values.
  2. If the checkout simulation returns a different value than what the integration sent, then there was a recent change in the sku values. To update the information, just make a change to the sku so that it is updated again on the marketplace.
INVESTIGATIONS | SETUP

 

 

 

 

 



Have more questions? Submit a request

Comments