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

# Google Merchant Center as a data source

> Bring data from Google Merchant Center to your Lakehouse.

Google Merchant Center is where retailers upload and manage the product data that powers Shopping ads, free listings and local inventory ads across Google. This connector brings that catalog into your Lakehouse: the accounts you manage, the feeds behind them, every processed product with its full attribute set and review status, and the regional and in-store inventory overrides applied on top.

<Info>This source is built on Google's **Merchant API**, which replaced the Content API for Shopping when Google shut the latter down on 18 August 2026.</Info>

## 1. Add your Google Merchant Center access

1. In the [Sources](https://app.nekt.ai/sources) tab, click on the "Add source" button located on the top right of your screen. Then, select the Google Merchant Center option from the list of connectors.

2. Click **Next** and you'll be prompted to add your access.

* **Google Authorization:** Click the authorization button and sign in with a Google account that has access to the Merchant Center account you want to extract. Every account that user can read becomes available for extraction, including the sub-accounts of an advanced (multi-client) account.

* **Merchant Center account IDs:** (Optional, advanced) A comma-separated list of account IDs, if you want to restrict the extraction to specific accounts. Leave it empty to extract everything the authorized user can read. You can find the ID at the top right of the [Merchant Center](https://merchants.google.com/) interface. A sub-account ID works here as well.

3. Click **Next**.

<Note>Merchant Center permissions are per account and per user. If an account you expected is missing, check that the Google user you authorized with is listed under **Settings → People and access** of that Merchant Center account.</Note>

## 2. Select your Google Merchant Center streams

1. The next step is letting us know which streams you want to bring. You can select entire groups of streams or only a subset of them.

   > Tip: The stream can be found more easily by typing its name.

<Warning>**Regional Inventories** and **Local Inventories** are the expensive ones. Google only serves inventory data one product at a time, so these streams make one request per product in the catalog — on a large catalog they take considerably longer than the rest and consume a much larger share of the daily API quota. Select them only if the account actually uses regional pricing or local inventory ads.</Warning>

<Info>If you don't see a stream you were expecting to find, please check if the authorized user has access to it. If that's not the issue, then it's probably because we still haven't implemented it. Feel free to get in touch and request it!</Info>

2. Click **Next**.

## 3. Configure your Google Merchant Center data streams

1. Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a name for each table (which will effectively contain the fetched data) and the type of sync.

* **Layer**: choose between the existing [layers](https://docs.nekt.com/get-started/core-concepts/catalog-layers) on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
* **Table name**: we suggest a name, but feel free to customize it. You have the option to add a **prefix** to all tables at once and make this process faster!
* **Sync Type**: depending on the data you are bringing to the lake, you can choose between INCREMENTAL and FULL\_TABLE. Read more about Sync Types [here](https://docs.nekt.com/get-started/core-concepts/types-of-sync).

<Note>Every stream of this source is extracted in full on each run — see [How the data is replicated](#how-the-data-is-replicated) below. **FULL\_TABLE** keeps your tables mirroring the current state of Merchant Center, which is what most analyses of a catalog need. Choose INCREMENTAL only if you deliberately want to keep the history of products that have since been removed.</Note>

2. Click **Next**.

## 4. Configure your Google Merchant Center data source

1. Describe your data source for easy identification within your organization. You can inform things like what data it brings, to which team it belongs, etc.

2. To define your [Trigger](https://docs.nekt.com/get-started/core-concepts/triggers), consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times).

3. Optionally, you can define some additional settings (if available).

* Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource [here](https://docs.nekt.com/get-started/core-concepts/resource-control).
* Determine when to execute an **Additional [Full Sync](https://docs.nekt.com/get-started/core-concepts/types-of-sync#additional-full-sync)**. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.

### Check your new source!

1. Click **Next** to finalize the setup. Once completed, you'll receive confirmation that your new source is set up!

2. You can view your new source on the [Sources](https://app.nekt.ai/sources) page. Now, for you to be able to see it on your [Catalog](https://app.nekt.ai/catalog), you have to wait for the pipeline to run. You can now monitor it on the [Sources](https://app.nekt.ai/sources) page to see its execution and completion. If needed, manually trigger the pipeline by clicking on the refresh icon. Once executed, your new table will appear in the Catalog section.

> If you encounter any issues, reach out to us via Slack, and we'll gladly assist you!

## How the data is replicated

The Merchant API offers no way to ask for "everything that changed since". None of its catalog resources accept a date filter, and products carry a last-update timestamp but cannot be sorted or filtered by it. Every stream is therefore extracted **in full** on each run, and each run reflects the state of the account at that moment.

Products do expose `last_update_date` and `creation_date`, so you can still follow how the catalog evolves inside your Lakehouse — but they describe the row, they don't limit what Google sends.

<Note>Newly uploaded or edited products take a few minutes to appear in the processed catalog this source reads. A sync started immediately after a feed upload may still return the previous version.</Note>

## How the tables are organized

Every resource is identified by a `name`, the full path Google uses for it — for example `accounts/123456/products/en~BR~sku123`. That is the primary key of each table. Alongside it, `account_id` is stamped on every row so you can join the whole source back to `accounts` without parsing paths.

Products are the widest table by far. The Merchant API nests the entire [product data specification](https://support.google.com/merchants/answer/7052112) under a `productAttributes` object and the review state under `productStatus`; this connector lifts both to the top level, so `title`, `brand`, `availability` or `last_update_date` are plain columns rather than nested structures. The rules are consistent across the whole source:

| What Google returns                          | What you get                                                                                                             |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| A `camelCase` field                          | The same name in `snake_case`                                                                                            |
| A price                                      | Two columns: `<field>_amount_micros` (an integer, one million micros = one unit of currency) and `<field>_currency_code` |
| A 64-bit number, which the API sends as text | An integer column                                                                                                        |
| A nested object or a list of objects         | A single column holding it as a JSON string                                                                              |
| A list of plain values                       | A list column                                                                                                            |

The custom labels are the one deliberate exception to the automatic renaming: they are delivered as `custom_label_0` through `custom_label_4`, the names used in Merchant Center and Google Ads.

<Info>Prices are expressed in micros, the unit the Merchant API uses. Divide by 1,000,000 to get the currency amount: `price_amount_micros = 19990000` means 19.99 in `price_currency_code`.</Info>

Product issues live in the `item_level_issues` column of `products`, as a JSON list — one entry per problem Google found, with its code, severity and the destinations it affects. Account-wide problems are a separate stream, `account_issues`.

## Limits and quotas

Google sets the quota per Merchant Center account and per group of methods, and recomputes it daily: the products group is set to roughly twice the number of offers in the account, and the accounts group to the maximum number of sub-accounts allowed. Both a per-minute and a daily limit apply.

| Limit                 | Effect                                                                                         |
| --------------------- | ---------------------------------------------------------------------------------------------- |
| Per-minute rate limit | The connector backs off and retries automatically. The run takes longer, but no data is lost.  |
| Daily limit           | The run stops with a message saying the quota was exhausted. It resets every day at 12:00 UTC. |

<Warning>The daily quota is shared by everything that calls the Merchant API for that account, including your own feed automation and other tools. Selecting the inventory streams on a large catalog is what most often exhausts it, since each product costs one extra request per inventory stream.</Warning>

If you need a larger quota, request it through Google Merchant Center support.

# Streams and Fields

Below you'll find all available data streams from Google Merchant Center and their corresponding fields.

<AccordionGroup>
  <Accordion title="Accounts">
    Every Merchant Center account the authorized user can read, including the sub-accounts of an advanced account.

    **Fields:**

    * `account_id` - The ID of the account
    * `account_name` - A human-readable name of the account. Don't use punctuation, capitalization, or non- alphanumeric symbols such as the "/" or "\_" symbols. See Adding a business name for more information
    * `adult_content` - Whether this account contains adult content
    * `language_code` - The account's BCP-47 language code, such as en-US or sr-Latn
    * `name` - The resource name of the account. Format: `accounts/{account}`
    * `test_account` - Whether this is a test account
    * `time_zone` - The IANA time zone the account reports in, for example America/Sao\_Paulo
  </Accordion>

  <Accordion title="Account Business Info">
    Address, phone and customer service details declared on each account.

    **Fields:**

    * `address` - The address of the business. Only region\_code, address\_lines, postal\_code, administrative\_area and locality fields are supported. All other fields are ignored. Serialized as a JSON object string
    * `customer_service` - The customer service of the business. Serialized as a JSON object string
    * `korean_business_registration_number` - The 10-digit Korean business registration number separated with dashes in the format: XXX-XX-XXXXX
    * `name` - The resource name of the business info. Format: `accounts/{account}/businessInfo`
    * `phone` - The phone number of the business. Serialized as a JSON object string
    * `phone_verification_state` - The phone verification state of the business. Possible values: PHONE\_VERIFICATION\_STATE\_VERIFIED, PHONE\_VERIFICATION\_STATE\_UNVERIFIED
    * `account_id` - ID of the Merchant Center account this business info belongs to
  </Accordion>

  <Accordion title="Account Issues">
    Account-level issues Merchant Center reports, such as policy warnings or missing information.

    **Fields:**

    * `detail` - Further localized details about the issue
    * `documentation_uri` - Link to Merchant Center Help Center providing further information about the issue and how to fix it
    * `impacted_destinations` - The impact this issue has on various destinations. Serialized as a JSON array string
    * `name` - The resource name of the account issue. Format: `accounts/{account}/issues/{id}.` For example, accounts/123456/issues/misrepresentation-of-self-or-products- unacceptable- business-practice-policy
    * `severity` - The overall severity of the issue. Possible values: CRITICAL, ERROR, SUGGESTION
    * `title` - The localized title of the issue
    * `account_id` - ID of the Merchant Center account the issue was reported on
  </Accordion>

  <Accordion title="Account Programs">
    Which Merchant Center programs each account takes part in, and what is still missing to qualify.

    **Fields:**

    * `active_region_codes` - The regions in which the account is actively participating in the program. Active regions are defined as those where all program requirements affecting the regions have been met. Region codes are…
    * `documentation_uri` - The URL of a Merchant Center help page describing the program
    * `name` - The resource name of the program. Format: `accounts/{account}/programs/{program}`
    * `state` - The participation state of the account in the program. Possible values: NOT\_ELIGIBLE, ELIGIBLE, ENABLED
    * `unmet_requirements` - The requirements that the account has not yet satisfied that are affecting participation in the program. Serialized as a JSON array string
    * `account_id` - ID of the Merchant Center account enrolled in the program
  </Accordion>

  <Accordion title="Account Regions">
    Regions defined on the account, referenced by regional inventory and shipping settings.

    **Fields:**

    * `display_name` - The display name of the region
    * `geotarget_area` - A list of geotargets that defines the region area. Serialized as a JSON object string
    * `name` - The resource name of the region. Format: `accounts/{account}/regions/{region}`
    * `postal_code_area` - A list of postal codes that defines the region area. Serialized as a JSON object string
    * `radius_area` - A radius area that defines the region area. Serialized as a JSON object string
    * `regional_inventory_eligible` - Indicates if the region is eligible for use in the Regional Inventory configuration
    * `shipping_eligible` - Indicates if the region is eligible for use in the Shipping Services configuration
    * `account_id` - ID of the Merchant Center account the region was defined on
  </Accordion>

  <Accordion title="Data Sources">
    The feeds each account pulls its product data from, primary and supplemental.

    **Fields:**

    * `data_source_id` - The data source id
    * `display_name` - The displayed data source name in the Merchant Center UI
    * `file_input` - The field is used only when data is managed through a file. Serialized as a JSON object string
    * `input` - Determines the type of input to the data source. Based on the input some settings might not work. Only generic data sources can be created through the API. Possible values: API, FILE, UI, AUTOFEED
    * `local_inventory_data_source` - The local inventory data source. Serialized as a JSON object string
    * `merchant_review_data_source` - The merchant review data source. Serialized as a JSON object string
    * `name` - The name of the data source. Format: `accounts/{account}/dataSources/{datasource}`
    * `primary_product_data_source` - The primary data source for local and online products. Serialized as a JSON object string
    * `product_review_data_source` - The product review data source. Serialized as a JSON object string
    * `promotion_data_source` - The promotion data source. Serialized as a JSON object string
    * `regional_inventory_data_source` - The regional inventory data source. Serialized as a JSON object string
    * `supplemental_product_data_source` - The supplemental data source for local and online products. Serialized as a JSON object string
    * `account_id` - ID of the Merchant Center account the data source belongs to
  </Accordion>

  <Accordion title="Products">
    The processed catalog: what Merchant Center shows after applying rules and supplemental feeds, one row per product.

    **Fields:**

    * `archived` - Determines whether the product is archived. To archive or restore your product, visit Merchant Center products page. Learn also more about offer visibility
    * `automated_discounts` - The automated discounts information for the product. Serialized as a JSON object string
    * `base64_encoded_name` - The **unpadded base64url encoded name** of the product. Format: `accounts/{account}/products/{product}` where the last section product is the unpadded base64url encoding of the…
    * `content_language` - The two-letter ISO 639-1 language code for the product
    * `custom_attributes` - A list of custom (merchant-provided) attributes. It can also be used to submit any attribute of the data specification in its generic form (for example, `{"name": "size type", "value": "regular"}`).…
    * `data_source` - The primary data source of the product
    * `feed_label` - The feed label lets you categorize and identify your products. The maximum allowed characters is 20 and the supported characters areA-Z, 0-9, hyphen and underscore. The feed label must not include…
    * `legacy_local` - Determines whether the product is **only** targeting local destinations and whether the product name should be distinguished with a local\~ prefix. For example, accounts/123/products/local~~en~~US\~sku123
    * `name` - The name of the product. Format: `accounts/{account}/products/{product}` where the last section product consists of: content\_language~~feed\_label~~offer\_id example for product name is…
    * `offer_id` - Your unique identifier for the product. This is the same for the product input and processed product. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single…
    * `version_number` - Represents the existing version (freshness) of the product, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when…
    * `creation_date` - Date on which the item has been created, in ISO 8601 format
    * `destination_statuses` - The intended destinations for the product. Serialized as a JSON array string
    * `google_expiration_date` - Date on which the item expires, in ISO 8601 format
    * `item_level_issues` - A list of all issues associated with the product. Serialized as a JSON array string
    * `last_update_date` - Date on which the item has been last updated, in ISO 8601 format
    * `additional_image_links` - Additional URLs of images of the item
    * `ads_grouping` - Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise. For more information, see Display ads attribute
    * `ads_labels` - Similar to ads\_grouping, but only works on CPC
    * `ads_redirect` - Allows advertisers to override the item URL when the product is shown within the context of Product ads
    * `adult` - Set to true if the item is targeted towards adults
    * `age_group` - Target age group of the item. Possible values: ADULT, KIDS, TODDLER, INFANT, NEWBORN
    * `amenity_feature` - The amenity features for the property
    * `auto_pricing_min_price_amount_micros` - A safeguard in the \[automated discounts] ([https://support.google.com/merchants/answer/10295759](https://support.google.com/merchants/answer/10295759)) and "Dynamic Promotions" ([https://support.google.com/merchants/answer/13949249](https://support.google.com/merchants/answer/13949249)) projects, ensuring that…
    * `auto_pricing_min_price_currency_code` - A safeguard in the \[automated discounts] ([https://support.google.com/merchants/answer/10295759](https://support.google.com/merchants/answer/10295759)) and "Dynamic Promotions" ([https://support.google.com/merchants/answer/13949249](https://support.google.com/merchants/answer/13949249)) projects, ensuring that…
    * `availability` - Availability status of the item. Possible values: IN\_STOCK, OUT\_OF\_STOCK, PREORDER, LIMITED\_AVAILABILITY, BACKORDER
    * `availability_date` - The day a pre-ordered product becomes available for delivery, in ISO 8601 format
    * `body_style` - The body style of the vehicle. Possible values: ATV\_SPORT, ATV\_TOURING, ATV\_UTILITY, ATV\_YOUTH, CITY\_CAR, CLASS\_A\_MOTORHOME, CLASS\_B\_MOTORHOME, CLASS\_C\_MOTORHOME,
    * `brand` - Brand of the item. For example, "Google"
    * `canonical_link` - URL for the canonical version of your item's landing page
    * `carrier_shipping` - Rules for carrier-based shipping. Serialized as a JSON array string
    * `certifications` - Product Certifications, for example for energy efficiency labeling of products recorded in the EU EPREL database. See the Help Center article for more information. Serialized as a JSON array string
    * `certified_pre_owned` - Whether the vehicle is OEM certified pre-owned
    * `cloud_export_additional_properties` - Extra fields to export to the Cloud Retail program. Serialized as a JSON array string
    * `co2_emissions` - The co2 emission of the vehicle. Serialized as a JSON object string
    * `color` - Color of the item. For example, "red"
    * `condition` - Condition or state of the item. Possible values: NEW, USED, REFURBISHED
    * `cost_of_goods_sold_amount_micros` - Cost of goods sold. Used for gross profit reporting. Amount in micros (1,000,000 micros = 1 unit of the currency)
    * `cost_of_goods_sold_currency_code` - Cost of goods sold. Used for gross profit reporting. Three-letter ISO 4217 currency code
    * `custom_label_0` - Custom label 0 for custom grouping of items in a Shopping campaign
    * `custom_label_1` - Custom label 1 for custom grouping of items in a Shopping campaign
    * `custom_label_2` - Custom label 2 for custom grouping of items in a Shopping campaign
    * `custom_label_3` - Custom label 3 for custom grouping of items in a Shopping campaign
    * `custom_label_4` - Custom label 4 for custom grouping of items in a Shopping campaign
    * `date_first_registered` - The date the vehicle was first registered. Format: YYYY-MM. See the Date first registered for more information
    * `description` - Description of the item
    * `disclosure_date` - The date time when an offer becomes visible in search results across Google's YouTube surfaces, in ISO 8601 format. See Disclosure date for more information
    * `display_address` - The display address of the property. Serialized as a JSON object string
    * `display_ads_id` - An identifier for an item for dynamic remarketing campaigns
    * `display_ads_link` - URL directly to your item's landing page for dynamic remarketing campaigns
    * `display_ads_similar_ids` - Advertiser-specified recommendations. For more information, see Display ads attribute specification
    * `display_ads_title` - Title of an item for dynamic remarketing campaigns
    * `display_ads_value` - Offer margin for dynamic remarketing campaigns. For more information, see Display ads attribute
    * `document_links` - Contains a list of PDF document URLs for the product. Examples are training manuals, user guides, assembly instructions, package inserts, etc. Must start with "http\://" or "https\://"), ASCII…
    * `electric_range` - The electric range of the vehicle in miles/kms. Serialized as a JSON object string
    * `emissions_standard` - The emission standard of the vehicle. Possible values: ZERO\_EMISSIONS, EURO1, EURO2, EURO3, EURO4, EURO5, EURO5B, EURO6,
    * `energy_consumption` - The energy consumption of the vehicle. Serialized as a JSON object string
    * `energy_efficiency_class` - The energy efficiency class as defined in EU directive 2010/30/EU. Possible values: APPP, APP, AP, A, B, C, D, E,
    * `engine` - The engine type of the vehicle. Possible values: GASOLINE, DIESEL, ELECTRIC, HYBRID, PLUG\_IN\_HYBRID, NATURAL\_GAS, LPG, METHANE,
    * `excluded_destinations` - The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). For more information, see Excluded destination. Note: We recommend setting destinations…
    * `expiration_date` - Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date is exposed in productstatuses as googleExpirationDate and might be earlier if…
    * `external_seller_id` - Required for multi-seller accounts. Use this attribute if you're a marketplace uploading products for various sellers to your multi-seller account
    * `free_shipping_threshold` - Conditions to be met for a product to have free shipping. Serialized as a JSON array string
    * `fuel_consumption` - The fuel consumption of the vehicle. Serialized as a JSON object string
    * `fuel_consumption_discharged_battery` - The fuel consumption of the vehicle when the hybrid battery is discharged. See the Help Center article for more information. Serialized as a JSON object string
    * `gender` - Target gender of the item. Possible values: MALE, FEMALE, UNISEX
    * `google_product_category` - Google's category of the item (see Google product taxonomy). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google…
    * `gtins` - Global Trade Item Numbers (GTIN) of the item. You can provide up to 10 GTINs
    * `handling_cutoff_times` - The handling cutoff times for shipping. Serialized as a JSON array string
    * `identifier_exists` - Set this value to false when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Defaults to true, if not provided
    * `image_link` - URL of an image of the item
    * `included_destinations` - The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in excludedDestinations. For more…
    * `installment` - Number and amount of installments to pay for an item. Serialized as a JSON object string
    * `is_bundle` - Whether the item is a business-defined sub-API. A \[sub-API] ([https://support.google.com/merchants/answer/6324449](https://support.google.com/merchants/answer/6324449)) is a custom grouping of different products sold by a business for a single price
    * `item_group_id` - Shared identifier for all variants of the same product
    * `item_group_title` - Represents the title of the product group to which this variant product belongs. This can be used along with the item group id attribute. It lets you perform better grouping of variant products, and…
    * `latitude` - The latitude of the property. The value must be between -90 (inclusive) and 90 (inclusive), up to 6 decimal places
    * `lease_term` - The lease term of the property. Serialized as a JSON object string
    * `lifestyle_image_links` - Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the Help Center article for more information
    * `link` - URL directly linking to your item's page on your online store
    * `link_template` - Link template for business hosted local storefront
    * `longitude` - The longitude of the property. The value must be between -180 (inclusive) and 180 (inclusive), up to 6 decimal places
    * `loyalty_points` - Loyalty points that users receive after purchasing the item. Japan only. Serialized as a JSON object string
    * `loyalty_programs` - A list of loyalty program information that is used to surface loyalty benefits (for example, better pricing, points, etc) to the user of this item. Serialized as a JSON array string
    * `material` - The material of which the item is made. For example, "Leather" or "Cotton"
    * `max_energy_efficiency_class` - The energy efficiency class as defined in EU directive 2010/30/EU. Possible values: APPP, APP, AP, A, B, C, D, E,
    * `max_handling_time` - Maximal product handling time (in business days)
    * `maximum_retail_price_amount_micros` - Maximum retail price (MRP) of the item. Applicable to India only. Amount in micros (1,000,000 micros = 1 unit of the currency)
    * `maximum_retail_price_currency_code` - Maximum retail price (MRP) of the item. Applicable to India only. Three-letter ISO 4217 currency code
    * `mileage` - The number of miles/kms on the vehicle. See the Mileage for more information. Serialized as a JSON object string
    * `min_energy_efficiency_class` - The energy efficiency class as defined in EU directive 2010/30/EU. Possible values: APPP, APP, AP, A, B, C, D, E,
    * `min_handling_time` - Minimal product handling time (in business days)
    * `minimum_order_values` - The minimum value in the cart before a customer can initiate checkout. Supports multiple minimum order values. Different minimum order values can be specified per country, service and surface.…
    * `mobile_link` - URL for the mobile-optimized version of your item's landing page
    * `mobile_link_template` - Link template for business hosted local storefront optimized for mobile devices
    * `model` - The Model of the vehicle, such as LX, EX, and others
    * `mpn` - Manufacturer Part Number (MPN) of the item
    * `multipack` - The number of identical products in a business-defined multipack
    * `neighborhood` - The neighborhood (locality) of the property, such as Wallingford, Greenwood, etc
    * `number_of_bathrooms` - The number of bathrooms in the property. The value must be greater than 0 and a multiple of 0.5
    * `number_of_bedrooms` - The number of bedrooms in the property. The value must be greater than or equal to 0 and a multiple of 1.0
    * `number_of_units` - The number of units available for a specific floor plan of the property. The value must be greater than 0
    * `pattern` - The item's pattern. For example, polka dots
    * `pause` - Publication of this item will be temporarily paused. Possible values: ADS, ALL
    * `pet_policy` - The pet policy for the property. Serialized as a JSON object string
    * `pickup_cost` - The pickup cost for an item when a customer buys it online and picks it up at a store. Serialized as a JSON object string
    * `pickup_method` - The pickup option for the item. Possible values: NOT\_SUPPORTED, BUY, RESERVE, SHIP\_TO\_STORE
    * `pickup_sla` - Item store pickup timeline. For more information, see Pickup SLA. Possible values: SAME\_DAY, NEXT\_DAY, TWO\_DAY, THREE\_DAY, FOUR\_DAY, FIVE\_DAY, SIX\_DAY, MULTI\_WEEK
    * `popularity_rank` - Indicates the popularity of the product in a merchant's inventory. Using a scale of 0.0 (lowest) to 100.0 (highest)
    * `price_amount_micros` - Price of the item. Amount in micros (1,000,000 micros = 1 unit of the currency)
    * `price_currency_code` - Price of the item. Three-letter ISO 4217 currency code
    * `product_details` - Technical specification or additional product details. Serialized as a JSON array string
    * `product_fee` - The product fee for the property. Serialized as a JSON array string
    * `product_height` - The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive). Serialized as a JSON object string
    * `product_highlights` - Bullet points describing the most relevant product highlights
    * `product_length` - The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive). Serialized as a JSON object string
    * `product_types` - Categories of the item (formatted as in product data specification)
    * `product_weight` - The weight of the product in the units provided. The value must be between 0 (exclusive) and 2000 (inclusive). Serialized as a JSON object string
    * `product_width` - The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive). Serialized as a JSON object string
    * `promotion_ids` - The unique ID of a promotion
    * `property_name` - The name of the property
    * `property_type` - The type of property. Possible values: APARTMENT, CONDO, LOFT, MULTI\_FAMILY\_HOME, PENTHOUSE, ROOM, SINGLE\_FAMILY\_HOME, STUDIO,
    * `questions_and_answers` - Contains user-, merchant-, and manufacturer-authored questions and answers about the product. Max 30 question and answer pairs. Max 10000 characters total. Each question can have max 1000 characters.…
    * `related_products` - Specifies how other products are related to this product. Serialized as a JSON array string
    * `return_policy_label` - The return label of the product, used to group products in account-level return policies. Max. 100 characters. For more information, see Return policy label
    * `returns` - Return rules for the product. Serialized as a JSON array string
    * `sale_price_amount_micros` - Advertised sale price of the item. Amount in micros (1,000,000 micros = 1 unit of the currency)
    * `sale_price_currency_code` - Advertised sale price of the item. Three-letter ISO 4217 currency code
    * `sale_price_effective_date` - Date range during which the item is on sale, see product data specification. Serialized as a JSON object string
    * `sell_on_google_quantity` - The quantity of the product that is available for selling on Google. Supported only for online products
    * `shipping` - Shipping rules. Serialized as a JSON array string
    * `shipping_handling_business_days` - The business days during which orders can be handled. If not provided, Monday to Friday business days will be assumed. Serialized as a JSON array string
    * `shipping_height` - Height of the item for shipping. Serialized as a JSON object string
    * `shipping_label` - The shipping label of the product, used to group products in account-level shipping rules. Max. 100 characters. For more information, see Shipping label
    * `shipping_length` - Length of the item for shipping. Serialized as a JSON object string
    * `shipping_transit_business_days` - The business days during which orders are in transit. If not provided, Monday to Friday business days will be assumed. Serialized as a JSON array string
    * `shipping_weight` - Weight of the item for shipping. Serialized as a JSON object string
    * `shipping_width` - Width of the item for shipping. Serialized as a JSON object string
    * `shopping_ads_excluded_countries` - List of country codes (ISO 3166-1 alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in data source settings
    * `short_title` - The short title of the item
    * `size` - Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same itemGroupId value, see Size
    * `size_system` - System in which the size is specified. Recommended for apparel items. For more information, see Size system. Possible values: AU, BR, CN, DE, EU, FR, IT, JP,
    * `size_types` - The cut of the item. It can be used to represent combined size types for apparel items. Maximum two of size types can be provided, see Size type
    * `specialty_housing_type` - The specialty housing type for the property. Possible values: CORPORATE, LOW\_INCOME, MILITARY, SENIOR, SHORT\_TERM, STUDENT
    * `structured_description` - Structured description, for algorithmically (AI)-generated descriptions. Serialized as a JSON object string
    * `structured_title` - Structured title, for algorithmically (AI)-generated titles. Serialized as a JSON object string
    * `subscription_cost` - Number of periods (weeks, months or years) and amount of payment per period for an item with an associated subscription contract. Serialized as a JSON object string
    * `sustainability_incentives` - The list of sustainability incentive programs. Serialized as a JSON array string
    * `title` - Title of the item
    * `transit_time_label` - The transit time label of the product, used to group product in account-level transit time tables
    * `trim` - The Trim of the vehicle model, such as S, SV, SL and others
    * `unit_area` - The unit area of the property, such as 1000 sqft. Serialized as a JSON object string
    * `unit_pricing_base_measure` - The preference of the denominator of the unit price. Serialized as a JSON object string
    * `unit_pricing_measure` - The measure and dimension of an item. Serialized as a JSON object string
    * `utilities_included` - The utilities included for the property
    * `variant_options` - Contains the list of all variant-identifying options of this product. Serialized as a JSON array string
    * `vehicle_all_in_price_amount_micros` - The all-in advertised price for a vehicle, including the costs of the following - any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection…
    * `vehicle_all_in_price_currency_code` - The all-in advertised price for a vehicle, including the costs of the following - any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection…
    * `vehicle_expenses_amount_micros` - The miscellaneous expenses like insurance and registration fees of the vehicle. See the Vehicle expenses for more information. Amount in micros (1,000,000 micros = 1 unit of the currency)
    * `vehicle_expenses_currency_code` - The miscellaneous expenses like insurance and registration fees of the vehicle. See the Vehicle expenses for more information. Three-letter ISO 4217 currency code
    * `vehicle_mandatory_inspection_included` - Whether the vehicle is sold with mandatory inspection and maintenance performed before delivery. See the Vehicle mandatory inspection included for more information
    * `vehicle_msrp_amount_micros` - The MSRP (Manufacturer Suggested Retail Price) for the vehicle in its current configuration. See the Vehicle MSRP for more information. Amount in micros (1,000,000 micros = 1 unit of the currency)
    * `vehicle_msrp_currency_code` - The MSRP (Manufacturer Suggested Retail Price) for the vehicle in its current configuration. See the Vehicle MSRP for more information. Three-letter ISO 4217 currency code
    * `vehicle_price_type` - The price type of the vehicle. Possible values: ALL\_IN\_PRICE, DRIVE\_AWAY\_PRICE, ESTIMATED\_DRIVE\_AWAY\_PRICE, EXCLUDING\_GOVERNMENT\_CHARGES\_PRICE, VEHICLE\_BASE\_PRICE
    * `video_links` - A list of video URLs for the item. Use this attribute to provide more visuals for your product beyond your image attributes. See the Help Center article for more information
    * `vin` - The Vehicle Identification Number (VIN) of the vehicle
    * `virtual_model_link` - URL of the 3D image of the item. See the Help Center article for more information
    * `warranty` - The warranty of the vehicle. Serialized as a JSON object string
    * `year` - The Year of the vehicle model
    * `account_id` - ID of the Merchant Center account the product belongs to
    * `product_id` - Identifier of the product within the account, the last section of the resource name, in the form content\_language~~feed\_label~~offer\_id
  </Accordion>

  <Accordion title="Regional Inventories">
    Price and availability overrides that apply to a product in a given region. One row per product and region.

    **Fields:**

    * `account` - The account that owns the product. This field will be ignored if set by the client
    * `base64_encoded_name` - The unpadded base64url encoded name of the RegionalInventory resource. Format: `accounts/{account}/products/{product}/regionalInventories/{region}` where the `{product}` segment is the unpadded base64url…
    * `name` - The name of the RegionalInventory resource. Format: `accounts/{account}/products/{product}/regionalInventories/{region}` The `{product}` segment is a unique identifier for the product. This identifier…
    * `region` - ID of the region for this RegionalInventory resource. See the Regional availability and pricing for more details
    * `availability` - Availability of the product in this region. Possible values: IN\_STOCK, OUT\_OF\_STOCK
    * `loyalty_programs` - An optional list of loyalty programs containing applicable loyalty member prices for this product in this region. This field is used to show region-specific member prices on Product Listing Ads…
    * `price_amount_micros` - Price of the product in this region. Amount in micros (1,000,000 micros = 1 unit of the currency)
    * `price_currency_code` - Price of the product in this region. Three-letter ISO 4217 currency code
    * `sale_price_amount_micros` - Sale price of the product in this region. Mandatory if salePriceEffectiveDate is defined. Amount in micros (1,000,000 micros = 1 unit of the currency)
    * `sale_price_currency_code` - Sale price of the product in this region. Mandatory if salePriceEffectiveDate is defined. Three-letter ISO 4217 currency code
    * `sale_price_effective_date` - The TimePeriod of the sale price in this region. Serialized as a JSON object string
    * `account_id` - ID of the Merchant Center account the product belongs to
    * `product_name` - Resource name of the product this inventory belongs to, in the form `accounts/{account}/products/{product}`
    * `product_id` - Identifier of the product within the account, in the form content\_language~~feed\_label~~offer\_id
  </Accordion>

  <Accordion title="Local Inventories">
    Price, availability and pickup options of a product at a physical store. One row per product and store.

    **Fields:**

    * `account` - The account that owns the product. This field will be ignored if set by the client
    * `base64_encoded_name` - The unpadded base64url encoded name of the LocalInventory resource. Format: `accounts/{account}/products/{product}/localInventories/{store_code}` where the `{product}` segment is the unpadded base64url…
    * `name` - The name of the LocalInventory resource. Format: `accounts/{account}/products/{product}/localInventories/{store_code}` The `{product}` segment is a unique identifier for the product. This identifier must…
    * `store_code` - Store code (the store ID from your Business Profile) of the physical store the product is sold in. See the Local product inventory data specification for more information
    * `availability` - Availability of the product at this store. Possible values: IN\_STOCK, LIMITED\_AVAILABILITY, ON\_DISPLAY\_TO\_ORDER, OUT\_OF\_STOCK
    * `custom_attributes` - A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{"name": "size type", "value": "regular"}`).
    * `instore_product_location` - Location of the product inside the store. Maximum length is 20 bytes
    * `local_shipping_label` - Specifies a label associated with the shipping for the LocalInventory resource. Can be used to group local shipping services to this particular inventory item. For accepted field format, see the…
    * `loyalty_programs` - An optional list of loyalty programs containing applicable loyalty member prices for this product at this store. This field is used to show store-specific member prices on Local Inventory Ads (LIA).…
    * `pickup_method` - Supported pickup method for this product. Unless the value is "not supported", this field must be submitted together with pickupSla. Possible values: BUY, RESERVE, SHIP\_TO\_STORE, NOT\_SUPPORTED
    * `pickup_sla` - Relative time period from the order date for an order for this product, from this store, to be ready for pickup. Must be submitted with pickupMethod. See more details here. Possible values: SAME\_DAY,…
    * `price_amount_micros` - Price of the product at this store. Amount in micros (1,000,000 micros = 1 unit of the currency)
    * `price_currency_code` - Price of the product at this store. Three-letter ISO 4217 currency code
    * `quantity` - Quantity of the product available at this store. Must be greater than or equal to zero
    * `sale_price_amount_micros` - Sale price of the product at this store. Mandatory if salePriceEffectiveDate is defined. Amount in micros (1,000,000 micros = 1 unit of the currency)
    * `sale_price_currency_code` - Sale price of the product at this store. Mandatory if salePriceEffectiveDate is defined. Three-letter ISO 4217 currency code
    * `sale_price_effective_date` - The TimePeriod of the sale at this store. Serialized as a JSON object string
    * `account_id` - ID of the Merchant Center account the product belongs to
    * `product_name` - Resource name of the product this inventory belongs to, in the form `accounts/{account}/products/{product}`
    * `product_id` - Identifier of the product within the account, in the form content\_language~~feed\_label~~offer\_id
  </Accordion>
</AccordionGroup>
