> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Shopping Webhook Setup Guide

> Configure Google Shopping to deliver events to StackOne.

## Prerequisites

The connector should already be set up, with a Connector Profile and a Linked Account. See [Getting Started](/connectors/googleshopping#getting-started) on the Google Shopping connector page.

<section data-guide-section data-guide-scopes="">
  <h2>How webhooks are set up</h2>

  <p>This connector uses <strong>Programmatic Webhooks</strong>. StackOne creates and manages the webhook subscription automatically when the account is connected — there is no webhook screen to configure in Merchant Center and no URL to paste.</p>

  <Steps>
    <Step title="Enable the events you need">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>When the connection is established, StackOne creates one Merchant API notification subscription (`POST /notifications/v1/accounts/{account}/notificationsubscriptions`) for each webhook event you enable, targeting the Merchant Center ID configured on the connection and delivering to a unique StackOne callback URL.</p>
      </div>
    </Step>

    <Step title="Unsubscribe">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Disabling an event or disconnecting the account deletes the corresponding notification subscription, which stops deliveries.</p>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events</h2>

  <p>The events below can be enabled for this connection. Only the events you select in StackOne are subscribed in Google Merchant Center and delivered.</p>

  <ul>
    <li><strong>Product Status Change</strong> (`PRODUCT_STATUS_CHANGE`) — Fired when a product's approval status (approved, pending, disapproved) changes in a reporting context such as Shopping ads or free listings, including when a product is first created or deleted.</li>
    <li><strong>Account Service Change</strong> (`ACCOUNT_SERVICE_CHANGE`) — Fired when an account service relationship on the Merchant Center account is created, updated, or deleted.</li>
  </ul>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Delivery format</h2>

  <p>How Google delivers events to StackOne.</p>

  <Steps>
    <Step title="Inspect event payloads">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Google sends each notification as an HTTP POST with a JSON body of the form `{"message": {"data": "..."}}`, where `data` is a base64-encoded JSON message. StackOne decodes it and emits the decoded message (account, resource, eventTime, and the status changes or operation) as the event data.</p>
      </div>
    </Step>

    <Step title="Verify deliveries">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Merchant API notifications are not signed. StackOne verifies each delivery through the unique, unguessable callback URL generated for the connection.</p>
      </div>
    </Step>
  </Steps>
</section>

## Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.