Product class

Required product attributes are primarily defined by the product data specification.

See the Product Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. 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.

Constructors

Product({List<String>? additionalImageLinks, String? additionalSizeType, String? adsGrouping, List<String>? adsLabels, String? adsRedirect, bool? adult, String? ageGroup, Price? autoPricingMinPrice, String? availability, String? availabilityDate, String? brand, String? canonicalLink, List<ProductCertification>? certifications, String? channel, List<CloudExportAdditionalProperties>? cloudExportAdditionalProperties, String? color, String? condition, String? contentLanguage, Price? costOfGoodsSold, List<CustomAttribute>? customAttributes, String? customLabel0, String? customLabel1, String? customLabel2, String? customLabel3, String? customLabel4, String? description, String? disclosureDate, String? displayAdsId, String? displayAdsLink, List<String>? displayAdsSimilarIds, String? displayAdsTitle, double? displayAdsValue, String? energyEfficiencyClass, List<String>? excludedDestinations, String? expirationDate, String? externalSellerId, String? feedLabel, List<FreeShippingThreshold>? freeShippingThreshold, String? gender, String? googleProductCategory, String? gtin, String? id, bool? identifierExists, String? imageLink, List<String>? includedDestinations, Installment? installment, bool? isBundle, String? itemGroupId, String? kind, List<String>? lifestyleImageLinks, String? link, String? linkTemplate, LoyaltyProgram? loyaltyProgram, List<LoyaltyProgram>? loyaltyPrograms, String? material, String? maxEnergyEfficiencyClass, String? maxHandlingTime, Price? maximumRetailPrice, String? minEnergyEfficiencyClass, String? minHandlingTime, String? mobileLink, String? mobileLinkTemplate, String? mpn, String? multipack, String? offerId, String? pattern, String? pause, String? pickupMethod, String? pickupSla, Price? price, List<ProductProductDetail>? productDetails, ProductDimension? productHeight, List<String>? productHighlights, ProductDimension? productLength, List<String>? productTypes, ProductWeight? productWeight, ProductDimension? productWidth, List<String>? promotionIds, Price? salePrice, String? salePriceEffectiveDate, String? sellOnGoogleQuantity, List<ProductShipping>? shipping, ProductShippingDimension? shippingHeight, String? shippingLabel, ProductShippingDimension? shippingLength, ProductShippingWeight? shippingWeight, ProductShippingDimension? shippingWidth, List<String>? shoppingAdsExcludedCountries, String? sizeSystem, String? sizeType, List<String>? sizes, String? source, ProductStructuredDescription? structuredDescription, ProductStructuredTitle? structuredTitle, ProductSubscriptionCost? subscriptionCost, List<ProductSustainabilityIncentive>? sustainabilityIncentives, String? targetCountry, String? taxCategory, List<ProductTax>? taxes, String? title, String? transitTimeLabel, ProductUnitPricingBaseMeasure? unitPricingBaseMeasure, ProductUnitPricingMeasure? unitPricingMeasure, String? virtualModelLink})
Product.fromJson(Map json_)

Properties

Additional URLs of images of the item.
getter/setter pair
additionalSizeType ↔ String?
Additional cut of the item.
getter/setter pair
adsGrouping ↔ String?
Used to group items in an arbitrary way.
getter/setter pair
adsLabels ↔ List<String>?
Similar to ads_grouping, but only works on CPC.
getter/setter pair
adsRedirect ↔ String?
Allows advertisers to override the item URL when the product is shown within the context of Product Ads.
getter/setter pair
adult ↔ bool?
Should be set to true if the item is targeted towards adults.
getter/setter pair
ageGroup ↔ String?
Target age group of the item.
getter/setter pair
autoPricingMinPrice ↔ Price?
A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability.
getter/setter pair
availability ↔ String?
Availability status of the item.
getter/setter pair
availabilityDate ↔ String?
The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
getter/setter pair
brand ↔ String?
Brand of the item.
getter/setter pair
URL for the canonical version of your item's landing page.
getter/setter pair
certifications ↔ List<ProductCertification>?
Product certification, introduced for EU energy efficiency labeling compliance using the EU EPREL database.
getter/setter pair
channel ↔ String?
The item's channel (online or local).
getter/setter pair
cloudExportAdditionalProperties ↔ List<CloudExportAdditionalProperties>?
Extra fields to export to the Cloud Retail program.
getter/setter pair
color ↔ String?
Color of the item.
getter/setter pair
condition ↔ String?
Condition or state of the item.
getter/setter pair
contentLanguage ↔ String?
The two-letter ISO 639-1 language code for the item.
getter/setter pair
costOfGoodsSold ↔ Price?
Cost of goods sold.
getter/setter pair
customAttributes ↔ List<CustomAttribute>?
A list of custom (merchant-provided) attributes.
getter/setter pair
customLabel0 ↔ String?
Custom label 0 for custom grouping of items in a Shopping campaign.
getter/setter pair
customLabel1 ↔ String?
Custom label 1 for custom grouping of items in a Shopping campaign.
getter/setter pair
customLabel2 ↔ String?
Custom label 2 for custom grouping of items in a Shopping campaign.
getter/setter pair
customLabel3 ↔ String?
Custom label 3 for custom grouping of items in a Shopping campaign.
getter/setter pair
customLabel4 ↔ String?
Custom label 4 for custom grouping of items in a Shopping campaign.
getter/setter pair
description ↔ String?
Description of the item.
getter/setter pair
disclosureDate ↔ String?
The date time when an offer becomes visible in search results across Google’s YouTube surfaces, in ISO 8601 format.
getter/setter pair
displayAdsId ↔ String?
An identifier for an item for dynamic remarketing campaigns.
getter/setter pair
URL directly to your item's landing page for dynamic remarketing campaigns.
getter/setter pair
displayAdsSimilarIds ↔ List<String>?
Advertiser-specified recommendations.
getter/setter pair
displayAdsTitle ↔ String?
Title of an item for dynamic remarketing campaigns.
getter/setter pair
displayAdsValue ↔ double?
Offer margin for dynamic remarketing campaigns.
getter/setter pair
energyEfficiencyClass ↔ String?
The energy efficiency class as defined in EU directive 2010/30/EU.
getter/setter pair
excludedDestinations ↔ List<String>?
The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center).
getter/setter pair
expirationDate ↔ String?
Date on which the item should expire, as specified upon insertion, in ISO 8601 format.
getter/setter pair
externalSellerId ↔ String?
Required for multi-seller accounts.
getter/setter pair
feedLabel ↔ String?
Feed label for the item.
getter/setter pair
freeShippingThreshold ↔ List<FreeShippingThreshold>?
Conditions to be met for a product to have free shipping.
getter/setter pair
gender ↔ String?
Target gender of the item.
getter/setter pair
googleProductCategory ↔ String?
Google's category of the item (see Google product taxonomy).
getter/setter pair
gtin ↔ String?
Global Trade Item Number (GTIN) of the item.
getter/setter pair
hashCode → int
The hash code for this object.
no setterinherited
id ↔ String?
The REST ID of the product.
getter/setter pair
identifierExists ↔ bool?
False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand.
getter/setter pair
URL of an image of the item.
getter/setter pair
includedDestinations ↔ List<String>?
The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center).
getter/setter pair
installment ↔ Installment?
Number and amount of installments to pay for an item.
getter/setter pair
isBundle ↔ bool?
Whether the item is a merchant-defined bundle.
getter/setter pair
itemGroupId ↔ String?
Shared identifier for all variants of the same product.
getter/setter pair
kind ↔ String?
Identifies what kind of resource this is.
getter/setter pair
Additional URLs of lifestyle images of the item.
getter/setter pair
URL directly linking to your item's page on your website.
getter/setter pair
linkTemplate ↔ String?
URL template for merchant hosted local storefront.
getter/setter pair
loyaltyProgram ↔ LoyaltyProgram?
Loyalty program information that is used to surface loyalty benefits ( for example, better pricing, points, etc) to the user of this item.
getter/setter pair
loyaltyPrograms ↔ List<LoyaltyProgram>?
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.
getter/setter pair
material ↔ String?
The material of which the item is made.
getter/setter pair
maxEnergyEfficiencyClass ↔ String?
The energy efficiency class as defined in EU directive 2010/30/EU.
getter/setter pair
maxHandlingTime ↔ String?
Maximal product handling time (in business days).
getter/setter pair
maximumRetailPrice ↔ Price?
Maximum retail price (MRP) of the item.
getter/setter pair
minEnergyEfficiencyClass ↔ String?
The energy efficiency class as defined in EU directive 2010/30/EU.
getter/setter pair
minHandlingTime ↔ String?
Minimal product handling time (in business days).
getter/setter pair
URL for the mobile-optimized version of your item's landing page.
getter/setter pair
mobileLinkTemplate ↔ String?
URL template for merchant hosted local storefront optimized for mobile devices.
getter/setter pair
mpn ↔ String?
Manufacturer Part Number (MPN) of the item.
getter/setter pair
multipack ↔ String?
The number of identical products in a merchant-defined multipack.
getter/setter pair
offerId ↔ String?
A unique identifier for the item.
getter/setter pair
pattern ↔ String?
The item's pattern (for example, polka dots).
getter/setter pair
pause ↔ String?
Publication of this item should be temporarily paused.
getter/setter pair
pickupMethod ↔ String?
The pick up option for the item.
getter/setter pair
pickupSla ↔ String?
Item store pickup timeline.
getter/setter pair
price ↔ Price?
Price of the item.
getter/setter pair
productDetails ↔ List<ProductProductDetail>?
Technical specification or additional product details.
getter/setter pair
productHeight ↔ ProductDimension?
The height of the product in the units provided.
getter/setter pair
productHighlights ↔ List<String>?
Bullet points describing the most relevant highlights of a product.
getter/setter pair
productLength ↔ ProductDimension?
The length of the product in the units provided.
getter/setter pair
productTypes ↔ List<String>?
Categories of the item (formatted as in product data specification).
getter/setter pair
productWeight ↔ ProductWeight?
The weight of the product in the units provided.
getter/setter pair
productWidth ↔ ProductDimension?
The width of the product in the units provided.
getter/setter pair
promotionIds ↔ List<String>?
The unique ID of a promotion.
getter/setter pair
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
salePrice ↔ Price?
Advertised sale price of the item.
getter/setter pair
salePriceEffectiveDate ↔ String?
Date range during which the item is on sale (see product data specification ).
getter/setter pair
sellOnGoogleQuantity ↔ String?
The quantity of the product that is available for selling on Google.
getter/setter pair
shipping ↔ List<ProductShipping>?
Shipping rules.
getter/setter pair
shippingHeight ↔ ProductShippingDimension?
Height of the item for shipping.
getter/setter pair
shippingLabel ↔ String?
The shipping label of the product, used to group product in account-level shipping rules.
getter/setter pair
shippingLength ↔ ProductShippingDimension?
Length of the item for shipping.
getter/setter pair
shippingWeight ↔ ProductShippingWeight?
Weight of the item for shipping.
getter/setter pair
shippingWidth ↔ ProductShippingDimension?
Width of the item for shipping.
getter/setter pair
shoppingAdsExcludedCountries ↔ List<String>?
List of country codes (ISO 3166-1 alpha-2) to exclude the offer from Shopping Ads destination.
getter/setter pair
sizes ↔ List<String>?
Size of the item.
getter/setter pair
sizeSystem ↔ String?
System in which the size is specified.
getter/setter pair
sizeType ↔ String?
The cut of the item.
getter/setter pair
source ↔ String?
The source of the offer, that is, how the offer was created.
getter/setter pair
structuredDescription ↔ ProductStructuredDescription?
Structured description, for algorithmically (AI)-generated descriptions.
getter/setter pair
structuredTitle ↔ ProductStructuredTitle?
Structured title, for algorithmically (AI)-generated titles.
getter/setter pair
subscriptionCost ↔ ProductSubscriptionCost?
Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.
getter/setter pair
sustainabilityIncentives ↔ List<ProductSustainabilityIncentive>?
The list of sustainability incentive programs.
getter/setter pair
targetCountry ↔ String?
The CLDR territory code for the item's country of sale.
getter/setter pair
taxCategory ↔ String?
The tax category of the product, used to configure detailed tax nexus in account-level tax settings.
getter/setter pair
taxes ↔ List<ProductTax>?
Tax information.
getter/setter pair
title ↔ String?
Title of the item.
getter/setter pair
transitTimeLabel ↔ String?
The transit time label of the product, used to group product in account-level transit time tables.
getter/setter pair
unitPricingBaseMeasure ↔ ProductUnitPricingBaseMeasure?
The preference of the denominator of the unit price.
getter/setter pair
unitPricingMeasure ↔ ProductUnitPricingMeasure?
The measure and dimension of an item.
getter/setter pair
URL of the 3D model of the item to provide more visuals.
getter/setter pair

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited