As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date will continue to be available. For more information please visit Python 2 support on Google Cloud.

Types for Google Shopping Merchant Products v1 API

class google.shopping.merchant_products_v1.types.AgeGroup(value)[source]

Bases: proto.enums.Enum

Target age group of the item.

Values:
AGE_GROUP_UNSPECIFIED (0):

Age group is not specified.

ADULT (1):

Teens or older.

KIDS (2):

5-13 years old.

TODDLER (3):

1-5 years old.

INFANT (4):

3-12 months old.

NEWBORN (5):

0-3 months old.

class google.shopping.merchant_products_v1.types.AutomatedDiscounts(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Information regarding Automated Discounts.

prior_price

The price prior to the application of the first price reduction. Absent if the information about the prior price of the product is not available.

Type

google.shopping.type.types.Price

prior_price_progressive

The price prior to the application of consecutive price reductions. Absent if the information about the prior price of the product is not available.

Type

google.shopping.type.types.Price

gad_price

The current sale price for products with a price optimized using Google Automated Discounts (GAD). Absent if the information about the GAD_price of the product is not available.

Type

google.shopping.type.types.Price

class google.shopping.merchant_products_v1.types.Availability(value)[source]

Bases: proto.enums.Enum

Availability status of the item.

Values:
AVAILABILITY_UNSPECIFIED (0):

Availability is not specified.

IN_STOCK (1):

In stock.

OUT_OF_STOCK (2):

Out of stock.

PREORDER (3):

Pre-order.

LIMITED_AVAILABILITY (4):

Limited availability.

BACKORDER (5):

Backorder.

class google.shopping.merchant_products_v1.types.CarrierTransitTimeOption(value)[source]

Bases: proto.enums.Enum

Possible carrier where transit time is coming from.

Values:
CARRIER_TRANSIT_TIME_OPTION_UNSPECIFIED (0):

Carrier transit time option is unspecified.

DHL_PAKET (1):

DHL Paket shipping service.

DHL_PACKCHEN (2):

DHL Packchen shipping service.

DHL_EXPRESSEASY (3):

DHL Express Easy shipping service.

DPD_EXPRESS (4):

DPD Express shipping service.

DPD_CLASSIC_PARCEL (5):

DPD Classic Parcel shipping service.

HERMES_HAUSTUR (6):

Hermes Haustur shipping service.

HERMES_PAKETSHOP (7):

Hermes Paketshop shipping service.

GLS_BUSINESS (8):

GLS Business shipping service.

GLS_EXPRESS (9):

GLS Express shipping service.

GLS_PRIVATE (10):

GLS Private shipping service.

COLISSIMO_DOMICILE (11):

Colissimo Domicile shipping service.

DHL_EXPRESS_12AM (12):

DHL Express 12 AM shipping service.

DHL_EXPRESS_9AM (13):

DHL Express 9 AM shipping service.

GEODIS_EXPRESS (14):

GEODIS Express shipping service.

GEODIS_PACK_30 (15):

GEODIS Pack 30 shipping service.

GEODIS_SAME_DAY (16):

GEODIS Same Day shipping service.

GEODIS_TOP_24 (17):

GEODIS Top 24 shipping service.

TNT_ESSENTIEL_24H (18):

TNT Essentiel 24H shipping service.

TNT_ESSENTIEL_FLEXIBILITE (19):

TNT Essentiel Flexibilite shipping service.

FEDEX_GROUND (20):

FedEx Ground shipping service.

FEDEX_HOME_DELIVERY (21):

FedEx Home Delivery shipping service.

FEDEX_EXPRESS_SAVER (22):

FedEx Express Saver shipping service.

FEDEX_FIRST_OVERNIGHT (23):

FedEx First Overnight shipping service.

FEDEX_PRIORITY_OVERNIGHT (24):

FedEx Priority Overnight shipping service.

FEDEX_STANDARD_OVERNIGHT (25):

FedEx Standard Overnight shipping service.

FEDEX_2DAY (26):

FedEx 2Day shipping service.

UPS_2ND_DAY_AIR (27):

UPS 2nd Day Air shipping service.

UPS_2ND_DAY_AM (28):

UPS 2nd Day AM shipping service.

UPS_3_DAY_SELECT (29):

UPS 3 Day Select shipping service.

UPS_GROUND (30):

UPS Ground shipping service.

UPS_NEXT_DAY_AIR (31):

UPS Next Day Air shipping service.

UPS_NEXT_DAY_AIR_EARLY_AM (32):

UPS Next Day Air Early AM shipping service.

UPS_NEXT_DAY_AIR_SAVER (33):

UPS Next Day Air Saver shipping service.

USPS_PRIORITY_MAIL_EXPRESS (34):

USPS Priority Mail Express shipping service.

USPS_MEDIA_MAIL (35):

USPS Media Mail shipping service.

USPS_GROUND_ADVANTAGE_RETAIL (36):

USPS Ground Advantage Retail shipping service.

USPS_PRIORITY_MAIL (37):

USPS Priority Mail shipping service.

USPS_GROUND_ADVANTAGE_COMMERCIAL (38):

USPS Ground Advantage Commercial shipping service.

USPS_FIRST_CLASS_MAIL (39):

USPS First Class Mail shipping service.

class google.shopping.merchant_products_v1.types.CertificationAuthority(value)[source]

Bases: proto.enums.Enum

The certification authority.

Values:
CERTIFICATION_AUTHORITY_UNSPECIFIED (0):

Certification authority is not specified.

ADEME (1):

For the French CO2 emissions class for vehicles.

BMWK (2):

For the German CO2 emissions classes for vehicles.

EPA (3):

Environment Protection Agency.

EC (4):

European Commission for energy labels in the EU.

class google.shopping.merchant_products_v1.types.CertificationName(value)[source]

Bases: proto.enums.Enum

The name of the certification.

Values:
CERTIFICATION_NAME_UNSPECIFIED (0):

Certification name is not specified.

ENERGY_STAR (1):

Energy Star.

ENERGY_STAR_MOST_EFFICIENT (2):

Energy Star Most Efficient.

EPREL (3):

Represents energy efficiency certifications in the EU European Registry for Energy Labeling (EPREL) database.

EU_ECOLABEL (4):

EU Ecolabel.

VEHICLE_ENERGY_EFFICIENCY (5):

The overall CO2 class of a vehicle

VEHICLE_ENERGY_EFFICIENCY_DISCHARGED_BATTERY (6):

For the CO2 class of a vehicle with a discharged battery.

class google.shopping.merchant_products_v1.types.CloudExportAdditionalProperties(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Product property for the Cloud Retail API. For example, properties for a TV product could be “Screen-Resolution” or “Screen-Size”.

property_name

Name of the given property. For example, “Screen-Resolution” for a TV product. Maximum string size is 256 characters.

This field is a member of oneof _property_name.

Type

str

text_value

Text value of the given property. For example, “8K(UHD)” could be a text value for a TV product. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order. Maximum string size is 256 characters.

Type

MutableSequence[str]

bool_value

Boolean value of the given property. For example for a TV product, “True” or “False” if the screen is UHD.

This field is a member of oneof _bool_value.

Type

bool

int_value

Integer values of the given property. For example, 1080 for a TV product’s Screen Resolution. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.

Type

MutableSequence[int]

float_value

Float values of the given property. For example for a TV product 1.2345. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.

Type

MutableSequence[float]

min_value

Minimum float value of the given property. For example for a TV product 1.00.

This field is a member of oneof _min_value.

Type

float

max_value

Maximum float value of the given property. For example for a TV product 100.00.

This field is a member of oneof _max_value.

Type

float

unit_code

Unit of the given property. For example, “Pixels” for a TV product. Maximum string size is 256B.

This field is a member of oneof _unit_code.

Type

str

class google.shopping.merchant_products_v1.types.Condition(value)[source]

Bases: proto.enums.Enum

Condition or state of the item.

Values:
CONDITION_UNSPECIFIED (0):

Default value. This value is unused.

NEW (1):

Brand new, original, unopened packaging.

USED (2):

Previously used, original packaging opened or missing.

REFURBISHED (3):

Professionally restored to working order, comes with a warranty, may or may not have the original packaging.

class google.shopping.merchant_products_v1.types.CreditType(value)[source]

Bases: proto.enums.Enum

Type of installment payments.

Values:
CREDIT_TYPE_UNSPECIFIED (0):

Default value. This value is unused.

FINANCE (1):

Finance.

LEASE (2):

Lease.

class google.shopping.merchant_products_v1.types.DeleteProductInputRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for the DeleteProductInput method.

name

Required. The name of the product input to delete. Format: accounts/{account}/productInputs/{productInput}

The {productInput} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: content_language~feed_label~offer_id. Example: en~US~sku123 For legacy local products, the structure is: local~content_language~feed_label~offer_id. Example: local~en~US~sku123

The format of the {productInput} segment in the URL is automatically detected by the server, supporting two options:

  1. Encoded Format: The {productInput} segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the content_language~feed_label~offer_id structure. This encoding MUST be used if any part of the product identifier (like offer_id) contains characters such as /, %, or ~.

    • Example: To represent the product ID en~US~sku/123, the {productInput} segment must be the unpadded base64url encoding of this string, which is ZW5-VVN-c2t1LzEyMw. The full resource name for the product would be accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw.

  2. Plain Format: The {productInput} segment is the tilde-separated string content_language~feed_label~offer_id. This format is suitable only when content_language, feed_label, and offer_id do not contain URL-problematic characters like /, %, or ~.

We recommend using the Encoded Format for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (~) characters in the {productInput} segment is used to differentiate between the two formats.

Type

str

data_source

Required. The primary or supplemental data source from which the product input should be deleted. Format: accounts/{account}/dataSources/{datasource}. For example, accounts/123456/dataSources/104628.

Type

str

class google.shopping.merchant_products_v1.types.DigitalSourceType(value)[source]

Bases: proto.enums.Enum

The digital source type. Following IPTC.

Values:
DIGITAL_SOURCE_TYPE_UNSPECIFIED (0):

Digital source type is unspecified.

TRAINED_ALGORITHMIC_MEDIA (1):

Text created algorithmically using a model derived from sampled content.

DEFAULT (2):

Text NOT created algorithmically using a model derived from sampled content (the default)

class google.shopping.merchant_products_v1.types.EnergyEfficiencyClass(value)[source]

Bases: proto.enums.Enum

The energy efficiency class as defined in EU directive 2010/30/EU.

Values:
ENERGY_EFFICIENCY_CLASS_UNSPECIFIED (0):

The energy efficiency class is unspecified.

APPP (1):

A+++.

APP (2):

A++.

AP (3):

A+.

A (4):
B (5):
C (6):
D (7):
E (8):
F (9):
G (10):
class google.shopping.merchant_products_v1.types.FreeShippingThreshold(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Conditions to be met for a product to have free shipping.

country

The CLDR territory code of the country to which an item will ship.

This field is a member of oneof _country.

Type

str

price_threshold

The minimum product price for the shipping cost to become free. Represented as a number.

This field is a member of oneof _price_threshold.

Type

google.shopping.type.types.Price

class google.shopping.merchant_products_v1.types.Gender(value)[source]

Bases: proto.enums.Enum

Target gender of the item.

Values:
GENDER_UNSPECIFIED (0):

Gender is not specified.

MALE (1):

Male.

FEMALE (2):

Female.

UNISEX (3):

Unisex.

class google.shopping.merchant_products_v1.types.GetProductRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for the GetProduct method.

name

Required. The name of the product. Format: accounts/{account}/products/{product}

The {product} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: content_language~feed_label~offer_id. Example: en~US~sku123 For legacy local products, the structure is: local~content_language~feed_label~offer_id. Example: local~en~US~sku123

The format of the {product} segment in the URL is automatically detected by the server, supporting two options:

  1. Encoded Format: The {product} segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the content_language~feed_label~offer_id structure. This encoding MUST be used if any part of the product identifier (like offer_id) contains characters such as /, %, or ~.

    • Example: To represent the product ID en~US~sku/123, the {product} segment must be the unpadded base64url encoding of this string, which is ZW5-VVN-c2t1LzEyMw. The full resource name for the product would be accounts/123/products/ZW5-VVN-c2t1LzEyMw.

  2. Plain Format: The {product} segment is the tilde-separated string content_language~feed_label~offer_id. This format is suitable only when content_language, feed_label, and offer_id do not contain URL-problematic characters like /, %, or ~.

We recommend using the Encoded Format for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (~) characters in the {product} segment is used to differentiate between the two formats.

Note: For calls to the v1beta version, the plain format is channel~content_language~feed_label~offer_id, for example: accounts/123/products/online~en~US~sku123.

Type

str

class google.shopping.merchant_products_v1.types.HandlingCutoffTime(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Configuration for offer or offer-country level shipping handling cutoff time.

country

The CLDR territory code of the country to which the handling cutoff time applies.

This field is a member of oneof _country.

Type

str

cutoff_time

The handling cutoff time until which an order has to be placed to be processed in the same day. This is a string in format of HHMM (e.g. 1530) for 3:30 PM. If not configured, the cutoff time will be defaulted to 8AM PST.

This field is a member of oneof _cutoff_time.

Type

str

cutoff_timezone

Timezone identifier For example ‘Europe/Zurich’. If not set, the shipping destination timezone will be used.

This field is a member of oneof _cutoff_timezone.

Type

str

disable_delivery_after_cutoff

This field only applies to same-day delivery. If true, prevents next-day delivery from being shown for this offer after the cutoff time. This field only applies to same-day delivery offers, for merchants who want to explicitly disable it.

This field is a member of oneof _disable_delivery_after_cutoff.

Type

bool

class google.shopping.merchant_products_v1.types.InsertProductInputRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for the InsertProductInput method.

parent

Required. The account where this product will be inserted. Format: accounts/{account}

Type

str

product_input

Required. The product input to insert.

Type

google.shopping.merchant_products_v1.types.ProductInput

data_source

Required. The primary or supplemental product data source name. If the product already exists and data source provided is different, then the product will be moved to a new data source. For more information, see Create a primary data source.

Only API data sources are supported.

Format: accounts/{account}/dataSources/{datasource}. For example, accounts/123456/dataSources/104628.

Type

str

class google.shopping.merchant_products_v1.types.ListProductsRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for the ListProducts method.

parent

Required. The account to list processed products for. Format: accounts/{account}

Type

str

page_size

The maximum number of products to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the default page size of 25 products will be returned.

Type

int

page_token

A page token, received from a previous ListProducts call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListProducts must match the call that provided the page token.

Type

str

class google.shopping.merchant_products_v1.types.ListProductsResponse(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Response message for the ListProducts method.

products

The processed products from the specified account. These are your processed products after applying rules and supplemental data sources.

Type

MutableSequence[google.shopping.merchant_products_v1.types.Product]

next_page_token

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

Type

str

class google.shopping.merchant_products_v1.types.LoyaltyPoints(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

A message that represents loyalty points.

name

Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.

Type

str

points_value

The retailer’s loyalty points in absolute value.

Type

int

ratio

The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.

Type

float

class google.shopping.merchant_products_v1.types.LoyaltyProgram(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

A message that represents loyalty program.

program_label

The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a business entity and a loyalty program entity. The label must be provided so that the system can associate the assets below (for example, price and points) with a business. The corresponding program must be linked to the Merchant Center account.

This field is a member of oneof _program_label.

Type

str

tier_label

The label of the tier within the loyalty program. Must match one of the labels within the program.

This field is a member of oneof _tier_label.

Type

str

price

The price for members of the given tier, that is, the instant discount price. Must be smaller or equal to the regular price.

This field is a member of oneof _price.

Type

google.shopping.type.types.Price

cashback_for_future_use

The cashback that can be used for future purchases.

This field is a member of oneof _cashback_for_future_use.

Type

google.shopping.type.types.Price

loyalty_points

The amount of loyalty points earned on a purchase.

This field is a member of oneof _loyalty_points.

Type

int

member_price_effective_date

A date range during which the item is eligible for member price. If not specified, the member price is always applicable. The date range is represented by a pair of ISO 8601 dates separated by a space, comma, or slash.

This field is a member of oneof _member_price_effective_date.

Type

google.type.interval_pb2.Interval

shipping_label

The label of the shipping benefit. If the field has value, this offer has loyalty shipping benefit. If the field value isn’t provided, the item is not eligible for loyalty shipping for the given loyalty tier.

This field is a member of oneof _shipping_label.

Type

str

class google.shopping.merchant_products_v1.types.Pause(value)[source]

Bases: proto.enums.Enum

Publication of this item will be temporarily paused.

Values:
PAUSE_UNSPECIFIED (0):

The pause is unspecified.

ADS (1):

You’re currently pausing your product for all ads locations (including Shopping Ads, Display Ads, and local inventory ads).

ALL (2):

You’re currently pausing your product for all Shopping locations (including Shopping Ads, Display Ads, local inventory ads, Buy on Google, and free listings).

class google.shopping.merchant_products_v1.types.PickupMethod(value)[source]

Bases: proto.enums.Enum

The pickup option for the item.

Values:
PICKUP_METHOD_UNSPECIFIED (0):

Pickup method is not specified.

NOT_SUPPORTED (1):

The item is not available for store pickup.

BUY (2):

The entire transaction occurs online.

RESERVE (3):

The item is reserved online and the transaction occurs in-store.

SHIP_TO_STORE (4):

The item is purchased online and shipped to a local store for the customer to pick up.

class google.shopping.merchant_products_v1.types.PickupSla(value)[source]

Bases: proto.enums.Enum

Item store pickup timeline. For more information, see Pickup SLA.

Values:
PICKUP_SLA_UNSPECIFIED (0):

Pickup SLA is not specified.

SAME_DAY (1):

Indicates that the product is available for pickup the same day that the order is placed, subject to cut off times.

NEXT_DAY (2):

Indicates that the product is available for pickup the following day that the order is placed.

TWO_DAY (3):

Indicates that the product will be shipped to a store for a customer to pick up in 2 days.

THREE_DAY (4):

Indicates that the product will be shipped to a store for a customer to pick up in 3 days.

FOUR_DAY (5):

Indicates that the product will be shipped to a store for a customer to pick up in 4 days

FIVE_DAY (6):

Indicates that the product will be shipped to a store for a customer to pick up in 5 days.

SIX_DAY (7):

Indicates that the product will be shipped to a store for a customer to pick up in 6 days.

MULTI_WEEK (8):

Indicates that the product will be shipped to a store for a customer to pick up in one week or more.

class google.shopping.merchant_products_v1.types.Product(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The processed product, built from multiple [product inputs][google.shopping.merchant.products.v1main.ProductInput] after applying rules and supplemental data sources. This processed product matches what is shown in your Merchant Center account. Each product is built from exactly one primary data source product input, and multiple supplemental data source inputs. After inserting, updating, or deleting a product input, it may take several minutes before the updated processed product can be retrieved.

All fields in the processed product and its sub-messages match the name of their corresponding attribute in the Product data specification with some exceptions.

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 accounts/123/products/en~US~sku123. A legacy local product name would be accounts/123/products/local~en~US~sku123. Note: For calls to the v1beta version, the product section consists of: channel~content_language~feed_label~offer_id, for example: accounts/123/products/online~en~US~sku123.

Type

str

base64_encoded_name

Output only. 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~feed_label~offer_id name. Example: accounts/123/products/ZW5-VVN-c2t1LzEyMw for the decoded product name accounts/123/products/en~US~sku/123. This field can be used directly as input to the API methods that require the product name to be encoded if it contains special characters, for example `GetProduct <https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.products/get>`__.

Type

str

legacy_local

Output only. 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.

Type

bool

offer_id

Output only. 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 whitespace upon submission. See the product data specification for details.

Type

str

content_language

Output only. The two-letter ISO 639-1 language code for the product.

Type

str

feed_label

Output only. 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 any spaces. For more information, see Using feed labels

Type

str

data_source

Output only. The primary data source of the product.

Type

str

version_number

Output only. 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 version number is lower than the current version number of the existing product. Re-insertion (for example, product refresh after 30 days) can be performed with the current version_number.

Only supported for insertions into primary data sources.

If the operation is prevented, the aborted exception will be thrown.

This field is a member of oneof _version_number.

Type

int

product_attributes

Output only. A list of strongly-typed product attributes.

Type

google.shopping.merchant_products_v1.types.ProductAttributes

custom_attributes

Output only. 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" }). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google.

Type

MutableSequence[google.shopping.type.types.CustomAttribute]

product_status

Output only. The status of a product, data validation issues, that is, information about a product computed asynchronously.

Type

google.shopping.merchant_products_v1.types.ProductStatus

automated_discounts

Output only. The automated discounts information for the product.

Type

google.shopping.merchant_products_v1.types.AutomatedDiscounts

class google.shopping.merchant_products_v1.types.ProductAttributes(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Product attributes.

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.

This field is a member of oneof _identifier_exists.

Type

bool

is_bundle

Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price.

This field is a member of oneof _is_bundle.

Type

bool

title

Title of the item.

This field is a member of oneof _title.

Type

str

description

Description of the item.

This field is a member of oneof _description.

Type

str

URL directly linking to your item’s page on your online store.

This field is a member of oneof _link.

Type

str

URL for the mobile-optimized version of your item’s landing page.

This field is a member of oneof _mobile_link.

Type

str

URL for the canonical version of your item’s landing page.

This field is a member of oneof _canonical_link.

Type

str

URL of an image of the item.

This field is a member of oneof _image_link.

Type

str

Additional URLs of images of the item.

Type

MutableSequence[str]

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 expirationDate is too far in the future.

Type

google.protobuf.timestamp_pb2.Timestamp

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.

Type

google.protobuf.timestamp_pb2.Timestamp

adult

Set to true if the item is targeted towards adults.

This field is a member of oneof _adult.

Type

bool

age_group

Target age group of the item.

This field is a member of oneof _age_group.

Type

google.shopping.merchant_products_v1.types.AgeGroup

availability

Availability status of the item.

This field is a member of oneof _availability.

Type

google.shopping.merchant_products_v1.types.Availability

availability_date

The day a pre-ordered product becomes available for delivery, in ISO 8601 format.

Type

google.protobuf.timestamp_pb2.Timestamp

brand

Brand of the item. For example, “Google”.

This field is a member of oneof _brand.

Type

str

color

Color of the item. For example, “red”.

This field is a member of oneof _color.

Type

str

condition

Condition or state of the item.

This field is a member of oneof _condition.

Type

google.shopping.merchant_products_v1.types.Condition

gender

Target gender of the item.

This field is a member of oneof _gender.

Type

google.shopping.merchant_products_v1.types.Gender

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 product categories through the API.

This field is a member of oneof _google_product_category.

Type

str

gtins

Global Trade Item Numbers (GTIN) of the item. You can provide up to 10 GTINs.

Type

MutableSequence[str]

item_group_id

Shared identifier for all variants of the same product.

This field is a member of oneof _item_group_id.

Type

str

material

The material of which the item is made. For example, “Leather” or “Cotton”.

This field is a member of oneof _material.

Type

str

mpn

Manufacturer Part Number (MPN) of the item.

This field is a member of oneof _mpn.

Type

str

pattern

The item’s pattern. For example, polka dots.

This field is a member of oneof _pattern.

Type

str

price

Price of the item.

Type

google.shopping.type.types.Price

maximum_retail_price

Maximum retail price (MRP) of the item. Applicable to India only.

Type

google.shopping.type.types.Price

installment

Number and amount of installments to pay for an item.

Type

google.shopping.merchant_products_v1.types.ProductInstallment

subscription_cost

Number of periods (weeks, months or years) and amount of payment per period for an item with an associated subscription contract.

Type

google.shopping.merchant_products_v1.types.SubscriptionCost

loyalty_points

Loyalty points that users receive after purchasing the item. Japan only.

Type

google.shopping.merchant_products_v1.types.LoyaltyPoints

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.

Type

MutableSequence[google.shopping.merchant_products_v1.types.LoyaltyProgram]

product_types

Categories of the item (formatted as in product data specification).

Type

MutableSequence[str]

sale_price

Advertised sale price of the item.

Type

google.shopping.type.types.Price

sale_price_effective_date

Date range during which the item is on sale, see product data specification.

Type

google.type.interval_pb2.Interval

sell_on_google_quantity

The quantity of the product that is available for selling on Google. Supported only for online products.

This field is a member of oneof _sell_on_google_quantity.

Type

int

product_height

The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).

Type

google.shopping.merchant_products_v1.types.ProductDimension

product_length

The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).

Type

google.shopping.merchant_products_v1.types.ProductDimension

product_width

The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).

Type

google.shopping.merchant_products_v1.types.ProductDimension

product_weight

The weight of the product in the units provided. The value must be between 0 (exclusive) and 2000 (inclusive).

Type

google.shopping.merchant_products_v1.types.ProductWeight

shipping

Shipping rules.

Type

MutableSequence[google.shopping.merchant_products_v1.types.Shipping]

carrier_shipping

Rules for carrier-based shipping.

Type

MutableSequence[google.shopping.merchant_products_v1.types.ProductAttributes.CarrierShipping]

free_shipping_threshold

Conditions to be met for a product to have free shipping.

Type

MutableSequence[google.shopping.merchant_products_v1.types.FreeShippingThreshold]

shipping_weight

Weight of the item for shipping.

Type

google.shopping.merchant_products_v1.types.ShippingWeight

shipping_length

Length of the item for shipping.

Type

google.shopping.merchant_products_v1.types.ShippingDimension

shipping_width

Width of the item for shipping.

Type

google.shopping.merchant_products_v1.types.ShippingDimension

shipping_height

Height of the item for shipping.

Type

google.shopping.merchant_products_v1.types.ShippingDimension

max_handling_time

Maximal product handling time (in business days).

This field is a member of oneof _max_handling_time.

Type

int

min_handling_time

Minimal product handling time (in business days).

This field is a member of oneof _min_handling_time.

Type

int

shipping_handling_business_days

The business days during which orders can be handled. If not provided, Monday to Friday business days will be assumed.

Type

MutableSequence[google.shopping.merchant_products_v1.types.ProductAttributes.ShippingBusinessDaysConfig]

shipping_transit_business_days

The business days during which orders are in transit. If not provided, Monday to Friday business days will be assumed.

Type

MutableSequence[google.shopping.merchant_products_v1.types.ProductAttributes.ShippingBusinessDaysConfig]

handling_cutoff_times

The handling cutoff times for shipping.

Type

MutableSequence[google.shopping.merchant_products_v1.types.HandlingCutoffTime]

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.

This field is a member of oneof _shipping_label.

Type

str

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.

This field is a member of oneof _return_policy_label.

Type

str

transit_time_label

The transit time label of the product, used to group product in account-level transit time tables.

This field is a member of oneof _transit_time_label.

Type

str

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.

This field is a member of oneof _size.

Type

str

size_system

System in which the size is specified. Recommended for apparel items. For more information, see Size system.

This field is a member of oneof _size_system.

Type

google.shopping.merchant_products_v1.types.SizeSystem

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.

Type

MutableSequence[google.shopping.merchant_products_v1.types.SizeType]

energy_efficiency_class

The energy efficiency class as defined in EU directive 2010/30/EU.

This field is a member of oneof _energy_efficiency_class.

Type

google.shopping.merchant_products_v1.types.EnergyEfficiencyClass

min_energy_efficiency_class

The energy efficiency class as defined in EU directive 2010/30/EU.

This field is a member of oneof _min_energy_efficiency_class.

Type

google.shopping.merchant_products_v1.types.EnergyEfficiencyClass

max_energy_efficiency_class

The energy efficiency class as defined in EU directive 2010/30/EU.

This field is a member of oneof _max_energy_efficiency_class.

Type

google.shopping.merchant_products_v1.types.EnergyEfficiencyClass

unit_pricing_measure

The measure and dimension of an item.

Type

google.shopping.merchant_products_v1.types.UnitPricingMeasure

unit_pricing_base_measure

The preference of the denominator of the unit price.

Type

google.shopping.merchant_products_v1.types.UnitPricingBaseMeasure

multipack

The number of identical products in a business-defined multipack.

This field is a member of oneof _multipack.

Type

int

ads_grouping

Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise. For more information, see Display ads attribute.

This field is a member of oneof _ads_grouping.

Type

str

ads_labels

Similar to ads_grouping, but only works on CPC.

Type

MutableSequence[str]

ads_redirect

Allows advertisers to override the item URL when the product is shown within the context of Product ads.

This field is a member of oneof _ads_redirect.

Type

str

cost_of_goods_sold

Cost of goods sold. Used for gross profit reporting.

Type

google.shopping.type.types.Price

product_details

Technical specification or additional product details.

Type

MutableSequence[google.shopping.merchant_products_v1.types.ProductDetail]

product_highlights

Bullet points describing the most relevant product highlights.

Type

MutableSequence[str]

display_ads_id

An identifier for an item for dynamic remarketing campaigns.

This field is a member of oneof _display_ads_id.

Type

str

display_ads_similar_ids

Advertiser-specified recommendations. For more information, see Display ads attribute specification.

Type

MutableSequence[str]

display_ads_title

Title of an item for dynamic remarketing campaigns.

This field is a member of oneof _display_ads_title.

Type

str

URL directly to your item’s landing page for dynamic remarketing campaigns.

This field is a member of oneof _display_ads_link.

Type

str

display_ads_value

Offer margin for dynamic remarketing campaigns. For more information, see Display ads attribute.

This field is a member of oneof _display_ads_value.

Type

float

promotion_ids

The unique ID of a promotion.

Type

MutableSequence[str]

pickup_method

The pickup option for the item.

This field is a member of oneof _pickup_method.

Type

google.shopping.merchant_products_v1.types.PickupMethod

pickup_sla

Item store pickup timeline. For more information, see Pickup SLA.

This field is a member of oneof _pickup_sla.

Type

google.shopping.merchant_products_v1.types.PickupSla

Link template for business hosted local storefront.

This field is a member of oneof _link_template.

Type

str

Link template for business hosted local storefront optimized for mobile devices.

This field is a member of oneof _mobile_link_template.

Type

str

custom_label_0

Custom label 0 for custom grouping of items in a Shopping campaign.

This field is a member of oneof _custom_label_0.

Type

str

custom_label_1

Custom label 1 for custom grouping of items in a Shopping campaign.

This field is a member of oneof _custom_label_1.

Type

str

custom_label_2

Custom label 2 for custom grouping of items in a Shopping campaign.

This field is a member of oneof _custom_label_2.

Type

str

custom_label_3

Custom label 3 for custom grouping of items in a Shopping campaign.

This field is a member of oneof _custom_label_3.

Type

str

custom_label_4

Custom label 4 for custom grouping of items in a Shopping campaign.

This field is a member of oneof _custom_label_4.

Type

str

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 information, see Included destination.

Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.

Type

MutableSequence[google.shopping.type.types.Destination.DestinationEnum]

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 on datasources level for most use cases. Use this field within products to only setup exceptions.

Type

MutableSequence[google.shopping.type.types.Destination.DestinationEnum]

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.

Type

MutableSequence[str]

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.

This field is a member of oneof _external_seller_id.

Type

str

pause

Publication of this item will be temporarily paused.

This field is a member of oneof _pause.

Type

google.shopping.merchant_products_v1.types.Pause

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.

Type

MutableSequence[str]

cloud_export_additional_properties

Extra fields to export to the Cloud Retail program.

Type

MutableSequence[google.shopping.merchant_products_v1.types.CloudExportAdditionalProperties]

URL of the 3D image of the item. See the Help Center article for more information.

This field is a member of oneof _virtual_model_link.

Type

str

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.

Type

MutableSequence[google.shopping.merchant_products_v1.types.ProductCertification]

structured_title

Structured title, for algorithmically (AI)-generated titles.

This field is a member of oneof _structured_title.

Type

google.shopping.merchant_products_v1.types.StructuredTitle

structured_description

Structured description, for algorithmically (AI)-generated descriptions.

This field is a member of oneof _structured_description.

Type

google.shopping.merchant_products_v1.types.StructuredDescription

auto_pricing_min_price

A safeguard in the [automated discounts] (https://support.google.com/merchants/answer/10295759) and “Dynamic Promotions” (https://support.google.com/merchants/answer/13949249) projects, ensuring that discounts on business offers do not fall below this value, thereby preserving the offer’s value and profitability.

Type

google.shopping.type.types.Price

sustainability_incentives

The list of sustainability incentive programs.

Type

MutableSequence[google.shopping.merchant_products_v1.types.ProductSustainabilityIncentive]

Optional. 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.

Type

MutableSequence[str]

class CarrierPriceOption(value)[source]

Bases: proto.enums.Enum

Possible carrier where price is coming from.

Values:
CARRIER_PRICE_OPTION_UNSPECIFIED (0):

Carrier price option is unspecified.

AUSTRALIA_POST_REGULAR (1):

Australia Post Regular shipping service.

AUSTRALIA_POST_EXPRESS (2):

Australia Post Express shipping service.

AUSTRALIA_POST_REGULAR_S (3):

Australia Post Regular Small shipping service.

AUSTRALIA_POST_REGULAR_M (4):

Australia Post Regular Medium shipping service.

AUSTRALIA_POST_REGULAR_L (5):

Australia Post Regular Large shipping service.

AUSTRALIA_POST_REGULAR_XL (6):

Australia Post Regular XL shipping service.

AUSTRALIA_POST_EXPRESS_S (7):

Australia Post Express Small shipping service.

AUSTRALIA_POST_EXPRESS_M (8):

Australia Post Express Medium shipping service.

AUSTRALIA_POST_EXPRESS_L (9):

Australia Post Express Large shipping service.

AUSTRALIA_POST_EXPRESS_XL (10):

Australia Post Express XL shipping service.

TNT_ROAD_EXPRESS (11):

TNT Road Express shipping service.

TNT_OVERNIGHT_EXPRESS (12):

TNT Overnight Express shipping service.

TOLL_ROAD_DELIVERY (13):

Toll Road Delivery shipping service.

TOLL_OVERNIGHT_PRIORITY (14):

Toll Overnight Priority shipping service.

DHL_PAKET (15):

DHL Paket shipping service.

DHL_PACKCHEN (16):

DHL Packchen shipping service.

DPD_EXPRESS_12 (17):

DPD Express 12 shipping service.

DPD_EXPRESS (18):

DPD Express shipping service.

DPD_CLASSIC_PARCEL (19):

DPD Classic Parcel shipping service.

HERMES_PACKCHEN (20):

Hermes Packchen shipping service.

HERMES_PAKETKLASSE_S (21):

Hermes Paketklasse S shipping service.

HERMES_PAKETKLASSE_M (22):

Hermes Paketklasse M shipping service.

HERMES_PAKETKLASSE_L (23):

Hermes Paketklasse L shipping service.

UPS_EXPRESS (24):

UPS Express shipping service.

UPS_EXPRESS_SAVER (25):

UPS Express Saver shipping service.

UPS_EXPRESS_STANDARD (26):

UPS Express Standard shipping service.

DHL_EXPRESS (27):

DHL Express shipping service.

DHL_EXPRESS_12 (28):

DHL Express 12 shipping service.

DPD_NEXT_DAY (29):

DPD Next Day shipping service.

DPD_STANDARD_NEXT_DAY (30):

DPD Standard Next Day shipping service.

DPD_STANDARD_TWO_DAY (31):

DPD Standard Two Day shipping service.

RMG_1ST_CLASS_SMALL (32):

RMG 1st Class Small shipping service.

RMG_1ST_CLASS_MEDIUM (33):

RMG 1st Class Medium shipping service.

RMG_2ND_CLASS_SMALL (34):

RMG 2nd Class Small shipping service.

RMG_2ND_CLASS_MEDIUM (35):

RMG 2nd Class Medium shipping service.

TNT_EXPRESS (36):

TNT Express shipping service.

TNT_EXPRESS_10 (37):

TNT Express 10 shipping service.

TNT_EXPRESS_12 (38):

TNT Express 12 shipping service.

YODEL_B2C_48HR (39):

Yodel B2C 48HR shipping service.

YODEL_B2C_72HR (40):

Yodel B2C 72HR shipping service.

YODEL_B2C_PACKET (41):

Yodel B2C Packet shipping service.

FEDEX_GROUND (42):

FedEx Ground shipping service.

FEDEX_HOME_DELIVERY (43):

FedEx Home Delivery shipping service.

FEDEX_EXPRESS_SAVER (44):

FedEx Express Saver shipping service.

FEDEX_FIRST_OVERNIGHT (45):

FedEx First Overnight shipping service.

FEDEX_PRIORITY_OVERNIGHT (46):

FedEx Priority Overnight shipping service.

FEDEX_STANDARD_OVERNIGHT (47):

FedEx Standard Overnight shipping service.

FEDEX_2DAY (48):

FedEx 2Day shipping service.

UPS_STANDARD (49):

UPS Standard shipping service.

UPS_2ND_DAY_AIR (50):

UPS 2nd Day Air shipping service.

UPS_2ND_DAY_AM (51):

UPS 2nd Day AM shipping service.

UPS_3_DAY_SELECT (52):

UPS 3 Day Select shipping service.

UPS_GROUND (53):

UPS Ground shipping service.

UPS_NEXT_DAY_AIR (54):

UPS Next Day Air shipping service.

UPS_NEXT_DAY_AIR_EARLY_AM (55):

UPS Next Day Air Early AM shipping service.

UPS_NEXT_DAY_AIR_SAVER (56):

UPS Next Day Air Saver shipping service.

USPS_PRIORITY_MAIL_EXPRESS (57):

USPS Priority Mail Express shipping service.

USPS_MEDIA_MAIL (58):

USPS Media Mail shipping service.

USPS_GROUND_ADVANTAGE_RETAIL (59):

USPS Ground Advantage Retail shipping service.

USPS_PRIORITY_MAIL (60):

USPS Priority Mail shipping service.

USPS_GROUND_ADVANTAGE_COMMERCIAL (61):

USPS Ground Advantage Commercial shipping service.

class CarrierShipping(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Carrier-based shipping configuration. Allows for setting shipping speed or shipping cost based on a carrier’s provided info.

country

The CLDR territory code of the country to which an item will ship.

This field is a member of oneof _country.

Type

str

region

The geographic region to which a shipping rate applies. See region for more information.

This field is a member of oneof _region.

Type

str

postal_code

The postal code range that the shipping rate applies to, represented by a postal code (eg. 94043), a postal code prefix followed by a * wildcard (eg. 94*), a range between two postal codes (eg. 94043-98033) or two postal code prefixes of equal length (eg. 94*-98*).

This field is a member of oneof _postal_code.

Type

str

origin_postal_code

The source location postal code from which this offer ships. Represented only by a full-length postal code.

This field is a member of oneof _origin_postal_code.

Type

str

flat_price

Fixed shipping price, represented as a number with currency. Cannot be set together with [carrierPrice][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.carrier_price] or its adjustments ([carrierPriceFlatAdjustment][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.carrier_price_flat_adjustment], [carrierPricePercentageAdjustment][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.carrier_price_percentage_adjustment]).

This field is a member of oneof _flat_price.

Type

google.shopping.type.types.Price

carrier_price

Selected carrier to calculate the shipping price from. Select a carrier from the available carriers list, for example AUSTRALIA_POST_REGULAR. Price will be calculated by this selected carrier, the location expressed in [originPostalCode][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.origin_postal_code], along with the user location to determine the accurate shipping price. Carrier is represented by a carrier service name or a carrier service ID. Cannot be set together with [flatPrice][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.flat_price].

This field is a member of oneof _carrier_price.

Type

google.shopping.merchant_products_v1.types.ProductAttributes.CarrierPriceOption

carrier_price_flat_adjustment

A flat adjustment on the carrier price. Can be either positive or negative. Cannot be zero. Requires carrier_price to be present. Cannot be set together with [flatPrice][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.flat_price] and [carrierPricePercentageAdjustment][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.carrier_price_percentage_adjustment].

This field is a member of oneof _carrier_price_flat_adjustment.

Type

google.shopping.type.types.Price

carrier_price_percentage_adjustment

A percentual adjustment on the carrier price. Can be either positive or negative. Cannot be zero. Requires carrier_price to be present. Cannot be set together with [flatPrice][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.flat_price] and [carrierPriceFlatAdjustment][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.carrier_price_flat_adjustment].

This field is a member of oneof _carrier_price_percentage_adjustment.

Type

float

min_handling_time

Minimum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. [minHandlingTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.min_handling_time] can only be set if [maxHandlingTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.max_handling_time] is also set.

This field is a member of oneof _min_handling_time.

Type

int

max_handling_time

Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. Both [maxHandlingTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.max_handling_time] and [fixedMaxTransitTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.fixed_max_transit_time] or [carrierTransitTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.carrier_transit_time] are required if providing shipping speeds.

This field is a member of oneof _max_handling_time.

Type

int

fixed_min_transit_time

Minimum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. [fixedMinTransitTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.fixed_min_transit_time] can only be set if [fixedMaxTransitTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.fixed_max_transit_time] is set. Cannot be set if [carrierTransitTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.carrier_transit_time] is present.

This field is a member of oneof _fixed_min_transit_time.

Type

int

fixed_max_transit_time

Maximum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. Needs to be provided together with [maxHandlingTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.max_handling_time]. Cannot be set if [carrierTransitTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.carrier_transit_time] is present.

This field is a member of oneof _fixed_max_transit_time.

Type

int

carrier_transit_time

Selected carrier to calculate the shipping speed from. Select a carrier from the available carriers list, for example AUSTRALIA_POST_REGULAR. Speed will be calculated by this selected carrier, the location expressed in [originPostalCode][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.origin_postal_code], along with the user location to determine the accurate delivery speed. Carrier is represented by a carrier service name or a carrier service ID. Cannot be set together with [fixedMaxTransitTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.fixed_max_transit_time] or [fixedMinTransitTime][google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping.fixed_min_transit_time].

This field is a member of oneof _carrier_transit_time.

Type

google.shopping.merchant_products_v1.types.CarrierTransitTimeOption

class ShippingBusinessDaysConfig(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The business days during which orders are on their path to fulfillment. If not provided, Monday to Friday business days will be assumed.

country

The CLDR territory code of the country to which an item will ship.

This field is a member of oneof _country.

Type

str

business_days

Effective days of the week considered for the delivery time calculation. May not be empty. The more business days included the faster the delivery. Can be set through individual days (e.g. MTWRF), or day ranges (e.g. Mon-Fri). For more information about accepted formats, see Shipping handling business days.

This field is a member of oneof _business_days.

Type

str

class google.shopping.merchant_products_v1.types.ProductCertification(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Product certification, initially introduced for EU energy efficiency labeling compliance using the EU EPREL database.

certification_authority

The certification authority.

This field is a member of oneof _certification_authority.

Type

google.shopping.merchant_products_v1.types.CertificationAuthority

certification_name

The name of the certification.

This field is a member of oneof _certification_name.

Type

google.shopping.merchant_products_v1.types.CertificationName

certification_code

The certification code. Maximum length is 2000 characters.

This field is a member of oneof _certification_code.

Type

str

certification_value

The certification value (also known as class, level or grade), for example “A+”, “C”, “gold”. Maximum length is 2000 characters.

This field is a member of oneof _certification_value.

Type

str

class google.shopping.merchant_products_v1.types.ProductDetail(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The product details.

section_name

The section header used to group a set of product details.

Type

str

attribute_name

The name of the product detail.

Type

str

attribute_value

The value of the product detail.

Type

str

class google.shopping.merchant_products_v1.types.ProductDimension(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The dimension of the product.

value

Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.

Type

float

unit

Required. The dimension units. Acceptable values are:

  • in

  • cm”.

Type

str

class google.shopping.merchant_products_v1.types.ProductInput(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed [Product][google.shopping.merchant.products.v1.Product]. For more information, see Manage products.

Required product input attributes to pass data validation checks are primarily defined in the Products Data Specification.

The following attributes are required: [feedLabel][google.shopping.merchant.products.v1.Product.feed_label], [contentLanguage][google.shopping.merchant.products.v1.Product.content_language] and [offerId][google.shopping.merchant.products.v1.Product.offer_id].

After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.

All fields in the product input and its sub-messages match the English name of their corresponding attribute in the Products Data Specification with some exceptions. The following reference documentation lists the field names in the camelCase casing style while the Products Data Specification lists the names in the snake_case casing style.

name

Identifier. The name of the product. Format: accounts/{account}/productInputs/{productinput}

The {productinput} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: content_language~feed_label~offer_id. Example: en~US~sku123 For legacy local products, the structure is: local~content_language~feed_label~offer_id. Example: local~en~US~sku123

The format of the {productinput} segment in the URL is automatically detected by the server, supporting two options:

  1. Encoded Format: The {productinput} segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the content_language~feed_label~offer_id structure. This encoding MUST be used if any part of the product identifier (like offer_id) contains characters such as /, %, or ~.

    • Example: To represent the product ID en~US~sku/123, the {productinput} segment must be the unpadded base64url encoding of this string, which is ZW5-VVN-c2t1LzEyMw. The full resource name for the product would be accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw.

  2. Plain Format: The {productinput} segment is the tilde-separated string content_language~feed_label~offer_id. This format is suitable only when content_language, feed_label, and offer_id do not contain URL-problematic characters like /, %, or ~.

We recommend using the Encoded Format for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (~) characters in the {productinput} segment is used to differentiate between the two formats.

Type

str

base64_encoded_name

Output only. The unpadded base64url encoded name of the product input. Format: accounts/{account}/productInputs/{productinput} where the last section productinput is the unpadded base64url encoding of the content_language~feed_label~offer_id name. Example: accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw for the decoded product input name accounts/123/productInputs/en~US~sku/123. This field can be used directly as input to the API methods that require the product input name to be encoded if it contains special characters, for example `GetProductInput <https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.productInputs/get>`__.

Type

str

product

Output only. The name of the processed product. Format: accounts/{account}/products/{product}

Type

str

base64_encoded_product

Output only. The unpadded base64url encoded name of the processed product. Format: accounts/{account}/products/{product} where the last section product is the unpadded base64url encoding of the content_language~feed_label~offer_id name. Example: accounts/123/products/ZW5-VVN-c2t1LzEyMw for the decoded product name accounts/123/products/en~US~sku/123. This field can be used directly as input to the API methods that require the product name to be encoded if it contains special characters, for example `GetProduct <https://developers.google.com/merchant/api/reference/rest/products_v1/accounts.products/get>`__.

Type

str

legacy_local

Immutable. 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/productInputs/local~en~US~sku123. If a product that is not legacy_local is already targeting local destinations, creating a legacy_local product with an otherwise matching name will fail.

Type

bool

offer_id

Required. Immutable. 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 whitespace upon submission. See the products data specification for details.

Type

str

content_language

Required. Immutable. The two-letter ISO 639-1 language code for the product.

Type

str

feed_label

Required. Immutable. The feed label that lets you categorize and identify your products. The maximum allowed characters are 20, and the supported characters are A-Z, 0-9, hyphen, and underscore. The feed label must not include any spaces. For more information, see Using feed labels.

Type

str

version_number

Optional. Immutable. 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 version number is lower than the current version number of the existing product. Re-insertion (for example, product refresh after 30 days) can be performed with the current version_number.

Only supported for insertions into primary data sources. Do not set this field for updates. Do not set this field for insertions into supplemental data sources.

If the operation is prevented, the aborted exception will be thrown.

This field is a member of oneof _version_number.

Type

int

product_attributes

Optional. A list of strongly-typed product attributes.

Type

google.shopping.merchant_products_v1.types.ProductAttributes

custom_attributes

Optional. 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" }). This is useful for submitting attributes not explicitly exposed by the API. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per product, with total size of 102.4kB. Underscores in custom attribute names are replaced by spaces upon insertion.

Type

MutableSequence[google.shopping.type.types.CustomAttribute]

class google.shopping.merchant_products_v1.types.ProductInstallment(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

A message that represents installment.

months

The number of installments the buyer has to pay.

Type

int

amount

The amount the buyer has to pay per month.

Type

google.shopping.type.types.Price

downpayment

The up-front down payment amount the buyer has to pay.

This field is a member of oneof _downpayment.

Type

google.shopping.type.types.Price

credit_type

Type of installment payments.

This field is a member of oneof _credit_type.

Type

google.shopping.merchant_products_v1.types.CreditType

annual_percentage_rate

Optional. Annual percentage rate for credit_type finance

This field is a member of oneof _annual_percentage_rate.

Type

float

class google.shopping.merchant_products_v1.types.ProductStatus(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The status of a product, data validation issues, that is, information about a product computed asynchronously.

destination_statuses

The intended destinations for the product.

Type

MutableSequence[google.shopping.merchant_products_v1.types.ProductStatus.DestinationStatus]

item_level_issues

A list of all issues associated with the product.

Type

MutableSequence[google.shopping.merchant_products_v1.types.ProductStatus.ItemLevelIssue]

creation_date

Date on which the item has been created, in ISO 8601 format.

Type

google.protobuf.timestamp_pb2.Timestamp

last_update_date

Date on which the item has been last updated, in ISO 8601 format.

Type

google.protobuf.timestamp_pb2.Timestamp

google_expiration_date

Date on which the item expires, in ISO 8601 format.

Type

google.protobuf.timestamp_pb2.Timestamp

class DestinationStatus(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The destination status of the product status.

Equivalent to [StatusPerReportingContext][google.shopping.merchant.reports.v1.ProductView.StatusPerReportingContext] in Reports API.

reporting_context

The name of the reporting context.

Type

google.shopping.type.types.ReportingContext.ReportingContextEnum

approved_countries

List of country codes (ISO 3166-1 alpha-2) where the offer is approved.

Type

MutableSequence[str]

pending_countries

List of country codes (ISO 3166-1 alpha-2) where the offer is pending approval.

Type

MutableSequence[str]

disapproved_countries

List of country codes (ISO 3166-1 alpha-2) where the offer is disapproved.

Type

MutableSequence[str]

class ItemLevelIssue(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The ItemLevelIssue of the product status.

code

The error code of the issue.

Type

str

severity

How this issue affects serving of the offer.

Type

google.shopping.merchant_products_v1.types.ProductStatus.ItemLevelIssue.Severity

resolution

Whether the issue can be resolved by the business.

Type

str

attribute

The attribute’s name, if the issue is caused by a single attribute.

Type

str

reporting_context

The reporting context the issue applies to.

Type

google.shopping.type.types.ReportingContext.ReportingContextEnum

description

A short issue description in English.

Type

str

detail

A detailed issue description in English.

Type

str

documentation

The URL of a web page to help with resolving this issue.

Type

str

applicable_countries

List of country codes (ISO 3166-1 alpha-2) where issue applies to the offer.

Type

MutableSequence[str]

class Severity(value)[source]

Bases: proto.enums.Enum

How the issue affects the serving of the product.

Values:
SEVERITY_UNSPECIFIED (0):

Not specified.

NOT_IMPACTED (1):

This issue represents a warning and does not have a direct affect on the product.

DEMOTED (2):

The product is demoted and most likely have limited performance in search results

DISAPPROVED (3):

Issue disapproves the product.

class google.shopping.merchant_products_v1.types.ProductSustainabilityIncentive(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Information regarding sustainability-related incentive programs such as rebates or tax relief.

This message has oneof fields (mutually exclusive fields). For each oneof, at most one member field can be set at the same time. Setting any member of the oneof automatically clears all other members.

amount

The fixed amount of the incentive.

This field is a member of oneof value.

Type

google.shopping.type.types.Price

percentage

The percentage of the sale price that the incentive is applied to.

This field is a member of oneof value.

Type

float

type_

Sustainability incentive program.

This field is a member of oneof _type.

Type

google.shopping.merchant_products_v1.types.ProductSustainabilityIncentive.Type

class Type(value)[source]

Bases: proto.enums.Enum

Types of supported sustainability incentive programs.

Values:
TYPE_UNSPECIFIED (0):

Unspecified or unknown sustainability incentive type.

EV_TAX_CREDIT (1):

Program offering tax liability reductions for electric vehicles and, in some countries, plug-in hybrids. These reductions can be based on a specific amount or a percentage of the sale price.

EV_PRICE_DISCOUNT (2):

A subsidy program, often called an environmental bonus, provides a purchase grant for electric vehicles and, in some countries, plug-in hybrids. The grant amount may be a fixed sum or a percentage of the sale price.

class google.shopping.merchant_products_v1.types.ProductWeight(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The weight of the product.

value

Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.

Type

float

unit

Required. The weight unit. Acceptable values are:

  • g

  • kg

  • oz

  • lb”.

Type

str

class google.shopping.merchant_products_v1.types.Shipping(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The Shipping of the product.

price

Fixed shipping price, represented as a number.

Type

google.shopping.type.types.Price

country

The CLDR territory code of the country to which an item will ship.

Type

str

region

The geographic region to which a shipping rate applies. See region for more information.

Type

str

service

A free-form description of the service class or delivery speed.

Type

str

location_id

The numeric ID of a location that the shipping rate applies to as defined in the AdWords API.

Type

int

location_group_name

The location where the shipping is applicable, represented by a location group name.

Type

str

postal_code

The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.

Type

str

min_handling_time

Minimum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. [minHandlingTime][google.shopping.merchant.products.v1.Shipping.min_handling_time] can only be present together with [maxHandlingTime][google.shopping.merchant.products.v1.Shipping.max_handling_time]; but it is not required if [maxHandlingTime][google.shopping.merchant.products.v1.Shipping.max_handling_time] is present.

This field is a member of oneof _min_handling_time.

Type

int

max_handling_time

Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. Both [maxHandlingTime][google.shopping.merchant.products.v1.Shipping.max_handling_time] and [maxTransitTime][google.shopping.merchant.products.v1.Shipping.max_transit_time] are required if providing shipping speeds. [minHandlingTime][google.shopping.merchant.products.v1.Shipping.min_handling_time] is optional if [maxHandlingTime][google.shopping.merchant.products.v1.Shipping.max_handling_time] is present.

This field is a member of oneof _max_handling_time.

Type

int

min_transit_time

Minimum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. [minTransitTime][google.shopping.merchant.products.v1.Shipping.min_transit_time] can only be present together with [maxTransitTime][google.shopping.merchant.products.v1.Shipping.max_transit_time]; but it is not required if [maxTransitTime][google.shopping.merchant.products.v1.Shipping.max_transit_time] is present.

This field is a member of oneof _min_transit_time.

Type

int

max_transit_time

Maximum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. Both [maxHandlingTime][google.shopping.merchant.products.v1.Shipping.max_handling_time] and [maxTransitTime][google.shopping.merchant.products.v1.Shipping.max_transit_time] are required if providing shipping speeds. [minTransitTime][google.shopping.merchant.products.v1.Shipping.min_transit_time] is optional if [maxTransitTime][google.shopping.merchant.products.v1.Shipping.max_transit_time] is present.

This field is a member of oneof _max_transit_time.

Type

int

handling_cutoff_time

The handling cutoff time until which an order has to be placed to be processed in the same day. This is a string in format of HHMM (e.g. 1530) for 3:30 PM. If not configured, the cutoff time will be defaulted to 8AM PST and handling_cutoff_timezone will be ignored.

This field is a member of oneof _handling_cutoff_time.

Type

str

handling_cutoff_timezone

Timezone identifier For example Europe/Zurich. This field only applies if handling_cutoff_time is set. If handling_cutoff_time is set but this field is not set, the shipping destination timezone will be used. If both fields are not set, the handling cutoff time will default to 8AM PST.

This field is a member of oneof _handling_cutoff_timezone.

Type

str

class google.shopping.merchant_products_v1.types.ShippingDimension(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The ShippingDimension of the product.

value

The dimension of the product used to calculate the shipping cost of the item.

Type

float

unit

The unit of value.

Type

str

class google.shopping.merchant_products_v1.types.ShippingWeight(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The ShippingWeight of the product.

value

The weight of the product used to calculate the shipping cost of the item.

Type

float

unit

The unit of value.

Type

str

class google.shopping.merchant_products_v1.types.SizeSystem(value)[source]

Bases: proto.enums.Enum

System in which the size is specified. Recommended for apparel items. For more information, see Size system.

Values:
SIZE_SYSTEM_UNSPECIFIED (0):

Unspecified size system.

AU (1):

AU.

BR (2):

BR.

CN (3):

CN.

DE (4):

DE.

EU (5):

EU.

FR (6):

FR.

IT (7):

IT.

JP (8):

JP.

MEX (9):

MEX.

UK (10):

UK.

US (11):

US.

class google.shopping.merchant_products_v1.types.SizeType(value)[source]

Bases: proto.enums.Enum

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.

Values:
SIZE_TYPE_UNSPECIFIED (0):

The size type is not specified.

REGULAR (1):

Regular size.

PETITE (2):

Petite size.

MATERNITY (3):

Maternity size.

BIG (4):

Big size.

TALL (5):

Tall size.

PLUS (6):

Plus size.

class google.shopping.merchant_products_v1.types.StructuredDescription(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Structured description, for algorithmically (AI)-generated descriptions.

digital_source_type

The digital source type. Following IPTC.

This field is a member of oneof _digital_source_type.

Type

google.shopping.merchant_products_v1.types.DigitalSourceType

content

The description text Maximum length is 5000 characters

This field is a member of oneof _content.

Type

str

class google.shopping.merchant_products_v1.types.StructuredTitle(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Structured title, for algorithmically (AI)-generated titles.

digital_source_type

The digital source type. Following IPTC.

This field is a member of oneof _digital_source_type.

Type

google.shopping.merchant_products_v1.types.DigitalSourceType

content

The title text Maximum length is 150 characters

This field is a member of oneof _content.

Type

str

class google.shopping.merchant_products_v1.types.SubscriptionCost(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The SubscriptionCost of the product.

period

The type of subscription period. Supported values are:

  • month

  • year

  • week”.

Type

google.shopping.merchant_products_v1.types.SubscriptionPeriod

period_length

The number of subscription periods the buyer has to pay.

Type

int

amount

The amount the buyer has to pay per subscription period.

Type

google.shopping.type.types.Price

class google.shopping.merchant_products_v1.types.SubscriptionPeriod(value)[source]

Bases: proto.enums.Enum

The subscription period of the product.

Values:
SUBSCRIPTION_PERIOD_UNSPECIFIED (0):

Indicates that the subscription period is unspecified.

MONTH (1):

Indicates that the subscription period is month.

YEAR (2):

Indicates that the subscription period is year.

WEEK (3):

Indicates that the subscription period is week.

class google.shopping.merchant_products_v1.types.UnitPricingBaseMeasure(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The UnitPricingBaseMeasure of the product.

value

The denominator of the unit price.

Type

int

unit

The unit of the denominator.

Type

str

class google.shopping.merchant_products_v1.types.UnitPricingMeasure(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

The UnitPricingMeasure of the product.

value

The measure of an item.

Type

float

unit

The unit of the measure.

Type

str

class google.shopping.merchant_products_v1.types.UpdateProductInputRequest(mapping=None, *, ignore_unknown_fields=False, **kwargs)[source]

Bases: proto.message.Message

Request message for the UpdateProductInput method. The product (primary input) must exist for the update to succeed. If the update is for a primary product input, the existing primary product input must be from the same data source.

product_input

Required. The product input resource to update. Information you submit will be applied to the processed product as well. The name field within this resource identifies the product input to be updated.

Type

google.shopping.merchant_products_v1.types.ProductInput

update_mask

Optional. The list of product attributes to be updated.

If the update mask is omitted, then it is treated as implied field mask equivalent to all fields that are populated (have a non-empty value).

Attributes specified in the update mask without a value specified in the body will be deleted from the product.

Update mask can only be specified for top level fields in attributes and custom attributes.

To specify the update mask for custom attributes you need to add the custom_attribute. prefix.

Providing special “*” value for full product replacement is not supported.

Type

google.protobuf.field_mask_pb2.FieldMask

data_source

Required. The primary or supplemental product data source where data_source name identifies the product input to be updated.

Only API data sources are supported.

Format: accounts/{account}/dataSources/{datasource}. For example, accounts/123456/dataSources/104628.

Type

str