Advertiser API (Retail)
  • 22 Nov 2024
  • Dark
    Light

Advertiser API (Retail)

  • Dark
    Light

Article summary

To upload a feed a POST request should be made to the following URL, remember to include the authentication token.

https://api.awin.com/advertisers/{ADVERTISER_ID}/awinfeeds/{VERTICAL}/{LOCALE}/products

ADVERTISER_ID

Your Awin Advertiser ID

VERTICAL

For now only “retail” is accepted

LOCALE

Your Awin Feed Language, currently all combinations of language and locale are accepted. For example:

  • en_GB

  • fr_FR

  • de_DE

  • en_DE

  • en_NL

  • nl_NL

  • en_US

File Size Limit:

Currently the limit where we can ensure fast and fresh data is 2 million products, if your feed size is larger than that, please contact us for solutions.

URL example:

https://api.awin.com/advertisers/1001/awinfeeds/retail/en_GB/products

ADVERTISER_ID

1001

VERTICAL

retail

LOCALE

en_GB

Curl example:

curl -X PUT \
  'https://api.awin.com/advertisers/1001/awinfeeds/retail/en_GB/products' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer <YOUR_AUTHENTICATION_TOKEN>' \
  -H 'Content-Type: application/jsonlines' \
  -d @'path/to/your/jsonlines_feed_file.jsonl'

Not Found Response

If a not found response in encountered check the URL parameters are set correct for Advertiser ID, Vertical and Locale.

Response code: 404

{
  "message": "Locale not found"
}

Successful Response

If an Awin Feed contains no validation errors, it will be successfully uploaded and become available to publishers to download.

Response code: 200

{
  "productsReceived": 10,
  "version": 8
}

productsReceived

Number of products found in feed.

version

Current version of the feed, this number is incremented every time a new feed is received.

Successful Response with Health Warning

If an Awin Feed contains no validation errors, it may contain an info field.  The info field will contain a line number and warnings about the health of the product on that line.  

Response code: 200

{
  "productsReceived": 10,
  "version": 8,
  "info": [
    {
      "line": 1,
      "warnings": {
        "price_and_availability": "Additional fields found and ignored: \"sle_price\""
      }
    }
  ]
}

In this example on line 1, the property ‘sale_price’ is spelled incorrectly.  The feed will still be uploaded and made available to publishers for download. Info is only provided to help an advertiser identify any typos in key names, this might help the advertiser realise they meant sale_price and not sle_price.

Health warnings are limited to only return for the first 1000 products with an issue.

Error Response with Validation Errors

If a feed contains any validation errors, the feed will not be uploaded and made available to publishers. All validation errors must be corrected before it will be made available to publishers.

Response code: 200 (We are aware that our error response returns a 200, in a later version this will be a 400 Error)

Response type: Json (We are aware that our content type does not match the body, in a later version this will be JsonLine)cate

{
  "line": 5,
  "errors": {
    "product_basic": {
      "title": "invalid"
    }
  }
}

{
  "line": -1,
  "status": "paused",
  "errors": "Validation paused. Further products will not be validated until the above errors have been fixed."
}

In this example line 5 contain validation errors. The errors key gives details about why it is invalid.

Once a single validation is detected the whole feed is rejected.

Error Response with Validation Errors and Health Warnings

If a feed contains any validation errors, the feed will not be uploaded and will not be made available to publishers.  A health check will still be carried out on the feed, the warnings will be attached to the corresponding line for the product.

Response code: 400

{
  "line": 1,
  "errors": {
    "product_basic": {
      "title": "invalid"
    }
  },
  "warnings": {
    "price_and_availability": "Additional fields found and ignored: \"sale_price\""
  }
}

{
  "line": 3,
  "errors": {
    "json": "invalid"
  }
}

In this example lines 1 and 3 contain validation errors.  Line 1 additionally contains a warning which indicates an additional field has been found.

Awin Feed Format

JsonLine

Is one valid JSON value per line, encoded using UTF-8.

{"json_line":1}
{"json_line":2}
{"json_line":3}

In this example there are 3 JSON values on 3 lines. Each JSON value must be a valid Awin Product for the whole Awin Feed to be valid.

Usage Limits

During the pilot phase, there is no quota or throttling on this API. We ask that advertisers limit themselves to no more than 5 requests per minute.

During the pilot phase if the same Product Feed is uploaded in concurrent requests, the last to finish will be made available to publishers for download.  We recommend cancelling a previous upload before starting a new upload.

Awin Product

An Awin Product has the same structure as the official Google product data specification.

The Google format however has several fields that are used for managing Google Merchant Centre settings. Awin accepts feeds with any of those values submitted, but will neither store nor display them to publishers:

  • costs_of_goods_sold

  • ads_redirect

  • custom_label_0-4

  • promotion_id

  • external_seller_id

  • excluded_destination

  • included_destination

  • shopping_ads

  • excluded_country

  • pause

  • shipping_label

  • transit_time_label

  • tax_category

Product Example:

{
  "product_basic": {
    "id": "16817108",
    "title": "Organic Cotton Men's T-Shirt - Blue - M",
    "description": "Made from 100% organic cotton, this classic red men's polo has a slim fit and signature logo embroidered on the left chest. Machine wash cold; imported.",
    "link": "https://www.example.com/writing/pens",
    "image_link": "http://www.example.com/image1.jpg",
    "additional_image_link": [
      "http://www.example.com/image1.jpg",
      "http://www.example.com/image2.jpg"
    ],
    "mobile_link": "https://www.m.example.com/writing/pens"
  },
  "price_and_availability": {
    "availability": "in_stock",
    "availability_date": "2023-12-25T13:00-0800",
    "expiration_date": "2023-12-26T13:00-0800",
    "price": "15.00 GBP",
    "sale_price": "5.00 GBP",
    "sale_price_effective_date": "2022-02-24T13:00-0800/2022-03-29T15:30-0800",
    "cost_of_goods_sold": "3526.63 USD",
    "unit_pricing_measure": "750 ml",
    "unit_pricing_base_measure": "100 ml",
    "installment": {
      "months": 6,
      "amount": "50 BRL"
    },
    "subscription_cost": {
      "period": "month",
      "period_length": 12,
      "amount": "35.00 EUR"
    },
    "loyalty_points": "Programme A:100:0.5"
  },
  "product_category": {
    "google_product_category": "Apparel & Accessories > Clothing > Dresses",
    "product_type": "Home > Women > Dresses > Maxi Dresses"
  },
  "product_identifiers": {
    "brand": "Google",
    "gtin": "3243567980126",
    "mpn": "EXA12345MPLE",
    "identifier_exists": "yes"
  },
  "product_detailed": {
    "condition": "new",
    "adult": "yes",
    "multipack": 20,
    "is_bundle": false,
    "energy_efficiency_class": "A+",
    "min_energy_efficiency_class": "A+",
    "max_energy_efficiency_class": "D",
    "age_group": "adult",
    "color": "yellow",
    "gender": "unisex",
    "material": "Cotton/polyester/elastane",
    "pattern": "Striped",
    "size": "L",
    "size_type": ["regular", "plus"],
    "size_system": "UK",
    "item_group_id": "AB12345",
    "product_length": "14 cm",
    "product_width": "14 cm",
    "product_height": "14 cm",
    "product_weight": "173 g",
    "product_detail": [
      {
        "section_name": "General",
        "attribute_name": "Product Type",
        "attribute_value": "Digital player"
      },
      {
        "section_name": "General",
        "attribute_name": "Product Type",
        "attribute_value": "Digital Video"
      }
    ],
    "product_highlight": [
      "Supports thousands of apps, including Netflix, YouTube, HBO Now, Spotify, Showtime, Pandora, Google Play Movies",
      "Supports thousands of apps, including Netflix, YouTube, HBO Now, Spotify, Showtime, Pandora, Google Play Movies",
      "Supports thousands of apps, including Netflix, YouTube, HBO Now, Spotify, Showtime, Pandora, Google Play Movies"
    ]
  },
  "shopping_campaign": {
    "lifestyle_image_link": "https://www.example.com/image1.jpg",
    "short_title": "Running Shoes"
  },
  "delivery": {
    "shipping": [
      {
        "country": "US",
        "region": "US",
        "postal_code": "80302",
        "service": "Overnight",
        "price": "16.00 USD",
        "min_handling_time": "1",
        "max_handling_time": "1",
        "min_transit_time": "3",
        "max_transit_time": "3"
      }
    ],
    "shipping_weight": "3 kg",
    "shipping_length": "20 in",
    "shipping_width": "40 cm",
    "shipping_height": "20 in",
    "ships_from_country": "DE",
    "min_handling_time": 1,
    "max_handling_time": 10
  },
  "tax": {
    "tax": [
      {
        "country": "US",
        "region": "CA",
        "postal_code": "94043",
        "rate": "8.75",
        "tax_ship": "yes"
      }
    ]
  }
}

This is an example of one valid product, there should not be any new lines within the product’s JSON.

Product Sections

An Awin Product consists of sections which contain the individual fields that contain product information.

Basic Product Data

id  - Required

Advertiser’s unique product ID to identify each product


Unicode characters (Recommended: ASCII only): alphanumeric, underscores, and dashes

1–50 characters

{"product_basic":{"id":"16817108"}}

title
- Required

Advertiser's product name. Distinguish between variants where applicable


String (Unicode characters. Recommended: ASCII only)

1–150 characters

{"product_basic":{"title":"Organic Cotton Men''s T-Shirt - Blue - M"}}

description
- Required

Advertiser's product description


String (Unicode characters, Recommend: ASCII only)

1–5,000 characters

{"product_basic":{"Made from 100% organic cotton, this classic red men''s polo has a slim fit and signature logo embroidered on the left chest. Machine wash cold; imported."}}

link
- Required

Direct link to the product – non trackable

URL (including http or https), ASCII characters only

RFC 3986 compliant

1–2000 characters

{"product_basic":{"link":"https://www.example.com/writing/pens"}}

image_link
- Required

Direct link to product image – non trackable


URL (including http or https), ASCII characters only, and RFC 3986 compliant

JPEG (.jpg/.jpeg), WebP (.webp), PNG (.png), GIF (.gif), BMP (.bmp), and TIFF (.tif/.tiff). The image's file extension should correspond to its format.

1–2,000 characters

{"product_basic":{"image_link":"http:// www.example.com/image1.jpg"}}

additional_image link

- Optional

Direct links to additional product images – non trackable

Json Array of String


URL (including http or https), ASCII characters only, and RFC 3986 compliant

JPEG (.jpg/.jpeg), WebP (.webp), PNG (.png), GIF (.gif), BMP (.bmp), and TIFF (.tif/.tiff). The image's file extension should correspond to its format.

1–2,000 characters

To submit more than 1 image (up to 10), separate each URL with a comma ( , ):

https://www.example.com/image2.jpg,https://www.example.com/image3.jpg

Make sure that you encode any commas (as %2C) within the URL, but don't encode the comma that you use to separate each image URL:

https://www.example.com/image2%2C3.jpg,https://www.example.com/image2%2C4.jpg

{"product_basic":{"additional_image_link":[

        "http://www.example.com/image1.jpg",

        "http://www.example.com/image2.jpg"

]}}

mobile_link

- Optional

A mobile-optimised version of advertiser’s landing page link

URL (including http or https), ASCII characters only

RFC 3986 compliant

1–2000 characters

{"product_basic":{"mobile_link":"https://www.m.example.com/writing/pens"}}

Price and Availability

availability
- Required

Indicate product availability

Supported values must be submitted in English:

  • in_stock (products that are available for purchase)

  • out_ouf_stock (products currently not available to purchase)

  • preorder (products that have not yet been released for sale, but you are taking orders for)

  • backorder (products currently not available, but you are taking orders for)

If 'preorder' or 'backorder' are set, you must also provide the 'availability_date'

{"price_and_availability":{"availability":"in_stock"}}

availability_date
- Required if product availability is set to ‘preorder’ or ‘backorder’/Optional otherwise

Date a product set to 'preorder' or 'backorder' becomes available

YYYY-MM-DDThh:mm[±hhmm], or YYYY-MM-DDThh:mmZ

If a time or timezone isn't included, the default will be set to 12am, midnight, in the UTC timezone.

{"price_and_availability":{"availability_date":"2023-12-25T13:00-0800"}}

expiration_date

- Optional

The date the product will stop being available. Note: This field does not affect when the product will be visible to publishers.

YYYY-MM-DDThh:mm[±hhmm], or YYYY-MM-DDThh:mmZ

If a time or timezone isn't included, the default will be set to 12am, midnight, in the UTC timezone.

{"price_and_availability": "expiration_date":"2023-12-26T13:00-0800"}}

price
- Required

Product price

Number plus currency (ISO 4217)

Don't provide more than 2 digits after the decimal separator.

{"price_and_availability":{"price":"15.00 GBP"}}

sale_price
- Recommended

Product price during sale periods

Number plus currency (ISO 4217)

Don't provide more than 2 digits after the decimal separator.

{"price_and_availability":{"sale_price":"5.00 GBP"}}

sale_price_effective_date
- Recommended

To indicate the date range the sale will run for when using the sale_price attribute

Date range (use ISO 8601 standard). Submit a start date and an end date with time and timezone of format YYY-MM-DDThh:mm[±hhmm] or YYY-MM-DDThh:mmZ, separated by slash

If a time isn't included, the sale price will start at 12AM, midnight, on the start date and end at 11:59PM on the end date. If a timezone isn't included, it will default to the UTC timezone.

{"price_and_availability":{"sale_price_effective_date":"2022-02-24T13:00-0800/2022-03-29T15:30-0800"}}

unit_pricing_measure

- Optional

Define the measure and dimension of the product. This value allows publishers and users to understand the exact cost per unit for the product.

This attribute is optional, but may be required based on local laws or regulations.

Some products that often use this attribute: Hardware, Office Supplies, Food, Beverages, Flooring, Business Cards, Perfume

Positive number plus unit

Supported units:

  • Weight: oz, lb, mg, g, kg

  • Volume (US imperial): floz, pt, qt, gal

  • Volume (metric): ml, cl, l, cbm

  • Length: in, ft, yd, cm, m

  • Area: sqft, sqm

  • Per unit: ct

{"price_and_availability":{"unit_pricing_measure":"750 ml"}}

unit_pricing_base_measure

- Optional

The product’s base measure for pricing (for example, ‘100ml’ means the price is calculated based on a 100ml units)

Positive number or positive number plus unit

Supported units:

  • Weight: oz, lb, mg, g, kg

  • Volume (US imperial): floz, pt, qt, gal

  • Volume (metric): ml, cl, l, cbm

  • Length: in, ft, yd, cm, m

  • Area: sqft, sqm

  • Per unit: ct


Supported integers:

  • 1

  • 10

  • 100

  • 2

  • 4

  • 8

Additional supported metric integer + unit combinations:

  • 75 cl

  • 750 ml

  • 50 kg

  • 1000 kg

{"price_and_availability":{"unit_pricing_base_measure":"100 ml"}}

installment

- Optional

The installment payment plan available for the product. Supported by Google for all product categories in Latin America, for wireless products and services in specific other countries.


Supported values:

  • ‘months’ (required) - the number of installments the buyer has to pay

  • integer

  • ‘amount’ (required) - the amount the buyer has to pay per month

  • ISO 4217

{"price_and_availability":{"installment":{

        "months":6,

        "amount":"50 BRL"

}}}

subscription_cost

- Optional

The details of a monthly or annual payment plan that bundles a communications service contract with a wireless product (mobile phone or tablet). Supported by Google for specific countries.

Supported values:

  • ‘period’ (required) - the duration of a single subscription period

  • Values ‘month’ or ‘year’

  • ‘period_length’ (required) - the number of subscription periods (months or years) that the buyer must pay

  • integer

  • ‘amount’ (required) - the amount the buyer has to pay per month

  • ISO 4217

{"price_and_availability":{"subscription_cost":{

        "period":"month",

        "period_length":12,

        "amount":"35.00 EUR"

}}}

loyalty_program
- Optional

Specify how many and what type of loyalty points a customer receives when buying the product.

String (Unicode characters, Recommend: ASCII only)

JSON Array of Objects:

  • ‘program_label’: the name of your loyalty programme

  • ‘tier_label’: the tier, e.g. silver or gold

  • ‘price’: the price of the offer

  • ‘loyalty_points’: the points that can be earned

{"price_and_availability":{"loyalty_program":[

           {

              "program_label":"Progamme A"

              "tier_label":"silver"

              "price":"100 USD"

              "loyalty_points":"0.5"

           }

]}}


Product Category

google_product_category

- Recommended

Google-defined product category for the product

Refer to the Google product category [google_product_category] - Google Merchant Center Help

Submit either the numerical category ID or the full category path. Publishers will receive both the ID and the category string in the language provided. Awin accepts the full category path in the below languages. If just the ID is provided, publishers will receive both the ID and the category string in English.

For the pilot, we only support Google categories in English.

{"product_category":{"google_product_category":"Apparel & Accessories > Clothing > Dresses"}}

product_type
- Optional

Advertiser's product category


Unicode characters (Recommended: ASCII only)

1–750 characters

{"product_category":{"product_type":"Home > Women > Dresses > Maxi Dresses"}}

Product Identifiers

brand
- Required for all ‘new’ products/Optional otherwise

Name of the product's brand

Unicode characters (Recommended: ASCII only)

1–70 characters

  • Required for each product with a clearly associated brand or manufacturer

  • Required for each product where the manufacturer is also the merchant (for example, homemade and custom-made products)

  • Optional for any product that doesn’t have a clearly associated brand (for example, movies, books, music, and posters)

  • For products that truly do not have a brand (for example, a vintage dress without a label, generic electronics accessories, etc.) leave this field empty

{"product_identifiers":{"brand":"Google"}}

gtin
- Required/Optional for products that don’t have a GTIN

Global Trade Item Number (GTIN), a unique and internationally recognised identifier for a product.

Number (spaces and dashes are accepted, but ignored)

  • UPC (in North America / GTIN-12)
    12-digit number like 323456789012
    8-digit UPC-E codes should be converted to 12-digit codes

  • EAN (in Europe / GTIN-13)
    13-digit number like 3001234567892

  • JAN (in Japan / GTIN-13)
    8 or 13-digit number like 49123456 or 4901234567894

  • ISBN (for books)
    10 or 13-digit number like 1455582344 or 978-1455582341. If you have both, only include the 13-digit number. ISBN-10 are deprecated and should be converted to ISBN-13

  • ITF-14 (for multipacks / GTIN-14)
    14-digit number like 10856435001702

Each product and variant of a product (different colours or sizes) has its own GTIN, so make sure to submit the correct value.

If the product doesn't have a GTIN (e.g. vintage clothing or handmade goods), provide the 'MPN' and 'brand' attributes.

{"product_identifiers":{"gtin":"3243567980126"}}

mpn
- Required if the product does not have a manufacturer assigned GTIN/Optional

Product's Manufacturer Part Number (MPN), a unique number issued by manufacturers to identify individual products

String (Alphanumeric, Unicode characters. Recommended: ASCII only)

1–70 characters

If the product doesn’t have a clearly associated MPN or is a custom-made product (for example, art, custom t-shirts, novelty products, and handmade products), the attribute is optional.

{"product_identifiers":{"mpn":"EXA12345MPLE"}}

identifier_exists
- Optional

Use the identifier_exists attribute to indicate that unique product identifiers (GTIN, MPN, Brand) aren’t available for the product.

   Supported values must be submitted in English:

    • yes

    • true

    • no

    • false

  • If your product is new (which you submit using the ‘condition’ attribute) and it doesn’t have assigned product identifiers that meet the requirements, you should submit the identifier_exists attribute with a value of ‘no’ or ‘false’

  • If no value is submitted, the default is ‘yes’

{"product_identifiers":{"identifier_exists":”yes”}}

Detailed product description

condition
- Required for ‘used’ and ‘refurbished’ products /Optional for ‘new’ products

Condition of the product


Supported values must be submitted in English:

  • new

  • refurbished

  • used

{"product_detailed":{"condition":"new"}}

Certification
- Required for products that require certain information to be shown in your Shopping ads or free listings, for example due to local energy efficiency or emissions related labeling regulations. Optional for all other products

If your products target any of the EU or EFTA member states or the UK, consult EU energy efficiency regulations or any applicable local law to determine if you need to provide this attribute. This includes products covered by rescaled EU energy labels

Json Array containing Json Object with keys:

Authority [certification_authority] (Required) - The authority or certification body responsible for issuing the certification. At this time, we support the following values:

  • "EC" or “European_Commission” for energy labels in the EU

  • “ADEME” for the French CO2 emissions class for vehicles

  • “BMWK” for the German CO2 emissions classes for vehicles

Name [certification_name] (Required): The name of the certification. At this time, we support the following values:

  • "EPREL", which represents energy efficiency certifications in the EU European Registry for Energy Labeling (EPREL) database.

  • “Vehicle_CO2_Class” for the overall CO2 class of a vehicle

  • “Vehicle_CO2_Class_Discharged_Battery” for the CO2 class of a vehicle with a discharged battery

Code [certification_code] (Sometimes Required):

The code of the certification. For example, for the EPREL certificate with the link https://eprel.ec.europa.eu/screen/product/dishwashers2019/123456 the code is 123456. The code is required for European Energy Labels. Not required for Vehicle ads.

Value [certification_value] (Sometimes Required): The value of the certification. This field is ignored for certifications that require a certification code, like EPREL, but can be provided for specific certifications where a code isn't applicable. Specifically, the value of the appropriate CO2 Emission Class is required when listing vehicles in some countries. For details, refer to the Vehicle ads overview.

{"certification":{
   "certification_authority":" European_Commission",
   "certification_name":"EPREL",
   "certification_code":"123456",
   "certification_value":"ABC123"
}}

adult
- Required for ‘used’ and ‘refurbished’ products /Optional for ‘new’ products

Indicate that the product is for adults only because it contains adult content such as nudity, sexually suggestive content, or is intended to enhance sexual activity.


Supported values must be submitted in English.

    • yes

    • true

    • no

    • false

  • If the product isn’t adult oriented, leave blank to default to ‘no’

  • Products that are intended for adult use but are not sexual in nature (e.g. adult sized clothing) should be indicated using the 'age_group' field.

{"product_detailed":{"adult":true}}

multipack
- Optional

Indicate that multiple identical products have been grouped for sale as one product


Positive number greater than 2

{"product_detailed":{"multipack":20}}

is_bundle
- Optional

Indicate that a main product is grouped with other, different products, sold together as one package for a single price.

The main product of a bundle is the featured product of those products included in the bundle. The additional products should be accessories or add-ons that complement the main product.

For a video game console sold with three video games, the video game console is the main product.


Supported values must be submitted in English.

  • yes

  • true

  • no

  • false

{"product_detailed":{"is_bundle":false}}

energy_efficiency_class
- Optional

The energy efficiency label of the product. To be used in combination with ‘min_energy_efficiency_class’ and ‘max_energy_efficiency_class’ to create an energy efficiency label, for example, A+ (A+++ to G)

Supported values:

  • A+++

  • A++

  • A+

  • A

  • B

  • C

  • D

  • E

  • F

  • G

The energy efficiency class value must be within the range of the minimum energy efficiency class value and the maximum energy efficiency class value.


For example, if your range runs from "A" (most efficient, maximum energy efficiency class) down to "D" (least efficient, minimum energy efficiency class), the value for the energy_efficiency_class attribute may not be "G".

{"product_detailed":{"energy_efficiency_class":"A+"}}

min_energy_efficiency_class
- Optional

The minimum energy efficiency label of the product. To be used in combination with ‘energy_efficiency_class’ and  'max_energy_efficiency_class' to create an energy efficiency label, for example, A+ (A+++ to D)

Supported values:

  • A+++

  • A++

  • A+

  • A

  • B

  • C

  • D

  • E

  • F

  • G

{"product_detailed":{"min_energy_efficiency_class":"A+"}}

max_energy_efficiency_class
- Optional

The maximum energy efficiency label of the product. To be used in combination with ‘energy_efficiency_class’ and ‘min_energy_efficiency_class’ to create an energy efficiency label, for example, A+ (A+++ to D)

Supported values:

  • A+++

  • A++

  • A+

  • A

  • B

  • C

  • D

  • E

  • F

  • G

{"product_detailed":{"max_energy_efficiency_class":"D"}}

age_group
- Required for certain apparel products/Optional

The demographic the product is designed for


Supported values must be submitted in English:

  • newborn (0-3 months old)

  • infant (3-12 months old)

  • toddler (1-5 years old)

  • kids (5-13 years old)

  • adult (Teens or older)

Google requires this for free listings for all Apparel & Accessories (ID 166) products

Google requires this for Shopping ads for all Apparel & Accessories (ID 166) products when targeting these countries:

  • Brazil

  • France

  • Germany

  • Japan

  • United Kingdom

  • United States

Optional for all other categories and for products in the following Apparel & Accessories sub-categories:

  • Pinback Buttons (ID 4179)

  • Tie Clips (ID 180)

  • Cufflinks (ID 193)

  • Wristbands (ID 1893)

  • Shoe Covers (ID 5385)

  • Shoelaces (ID 1856)

  • Spurs (ID 2427)

  • Watch Bands (ID 5123)

  • Keychains (ID 175)

  • Wallet Chains (ID 5841)

  • Lanyards (ID 6277)

  • Checkbook Covers (ID 6460)

  • Badge & Pass Holders (ID 6170)

  • Watch Winders (ID 6870)

  • Watch Stickers & Decals (ID 7471)

  • Handkerchiefs (ID 5207)

  • Decorative Fans (ID 5114)

{"product_detailed":{"age_group":"adult"}}

color
- Required for certain apparel products/Optional

The product’s colour

String (Alphanumeric, Unicode characters. Recommended: ASCII)

1–100 characters total

  • If the product is made up of more than one colour, you can specify one primary colour followed by up to two secondary colours that are each separated by slash

  • Include standard colour names in your title. For example, a customer is more likely to search for "red dress" than "cinnamon apple" dress.

Google requires this for free listings for all Apparel Accessories (ID:166) products

Google also requires this for Shopping ads for Apparel Accessories (ID:166) products when targeting these countries:

    • Brazil

    • France

    • Germany

    • Japan

    • United Kingdom

    • United States

Optional otherwise

{"product_detailed":{"color":"yellow"}}

gender
- Required for certain apparel products/Optional

The gender the product is designed for

Supported values must be submitted in English:

  • male

  • female

  • unisex

Google requires this for free listings for all Apparel & Accessories (ID 166) products

Google requires this for Shopping ads for all Apparel & Accessories (ID 166) products when targeting these countries:

  • Brazil

  • France

  • Germany

  • Japan

  • United Kingdom

  • United States

Optional for all other categories and for products in the following Apparel & Accessories sub-categories:

  • Pinback Buttons (ID 4179)

  • Tie Clips (ID 180)

  • Cufflinks (ID 193)

  • Wristbands (ID 1893)

  • Shoe Covers (ID 5385)

  • Shoelaces (ID 1856)

  • Spurs (ID 2427)

  • Watch Bands (ID 5123)

  • Keychains (ID 175)

  • Wallet Chains (ID 5841)

  • Lanyards (ID 6277)

  • Checkbook Covers (ID 6460)

  • Badge & Pass Holders (ID 6170)

  • Watch Winders (ID 6870)

  • Watch Stickers & Decals (ID 7471)

  • Handkerchiefs (ID 5207)

  • Decorative Fans (ID 5114)

{"product_detailed":{"gender":"unisex"}}

material
- Optional/Recommended for apparel products

The main fabric or material the product is made of

String (Alphanumeric, Unicode characters. Recommended: ASCII)

Max 200 characters


To indicate multiple materials (not variants), add a primary material followed by up to two secondary materials that are each separated by slash

{"product_detailed":{"material":"Cotton/polyester/elastane"}}

pattern
- Optional/Recommended for apparel products

The pattern or graphic print on the product

String (Alphanumeric, Unicode characters. Recommended: ASCII)

Max 100 characters

{"product_detailed":{"pattern":"Striped"}}

size
-  Required for certain apparel products/Optional

The standardised size of the product

String (Alphanumeric, Unicode characters. Recommended: ASCII)

1–100 characters

  • Use a standard size value for your target country

  • Don’t submit values such as ‘n/a’, ‘none', or ‘multisize’ - leave blank if not relevant for the product

  • Provide more size details using the other size attributes:

  • Provide the cut of your garment using the ‘size_type’ attribute

  • Indicate the country convention for your size with the ‘size_system’ attribute.

Google requires this for free listings for all Apparel & Accessories > Clothing (ID 1604) and Apparel & Accessories > Shoes (ID 187) products

Google also requires this for Shopping ads for Apparel & Accessories > Clothing (ID 1604) and Apparel & Accessories > Shoes (ID 187) products when targeting these countries:

  • Brazil

  • France

  • Germany

  • Japan

  • United Kingdom

  • United States


Optional otherwise

{"product_detailed":{"size":"L"}}

size_type
- Optional/Recommended for apparel products

The product’s size type or cut

Json Array of String

Supported values must be submitted in English:

  • regular

  • petite

  • plus

  • tall

  • big

  • maternity

  • Submit up to 2 values

  • If you don’t submit the attribute, the default value is ‘regular’for apparel products

{"product_detailed":{"size_type":[

        "regular",

        "plus"

]}}

size_system
- Optional/Recommended for apparel products

The country’s sizing system the product uses

Supported values must be submitted in English:

  • AU

  • BR

  • CN

  • DE

  • EU

  • FR

  • IT

  • JP

  • MEX

  • UK

  • US

Make sure to submit the specific size of the product using the ‘size’ attribute.

{"product_detailed":{"size_system":"UK"}}

item_group_id
- Required/Optional

The product’s group ID. If the product is one variation of a set of products (e.g. the same shoes in multiple sizes and colours), use this attribute for the ID/SKU of the product. Publishers will be able to group variations of the same product that way.

String (Alphanumeric, Unicode characters. Recommended: ASCII

1–50 characters

  • When you submit an item group ID, make sure that your variants use at least one of the variant attributes: ‘color’, ‘pattern’, ‘material’, ‘age_group’, ‘gender', ‘size’

  • Use the ‘id’ attribute to uniquely identify a single product, and use item_group_id to group together several products as variants.

  • Don't submit a parent SKU as a separate product. If you'd like to group variants using a parent SKU, use the parent SKU as the value for the item_group_ID attribute for all products in the variant group.

  • Don’t submit a value for the item group ID attribute if your product is not a variant. If your product is similar to other products, but not specifically a variant, don’t t submit the item group ID attribute.

Google requires this for free listings for product variants

Google also requires this for Shopping ads for product variants targeting the following countries:

  • Brazil

  • France

  • Germany

  • Japan

  • United Kingdom

  • United States


Optional otherwise

{"product_detailed":{"item_group_id":"AB12345"}}

product_length
- Optional

Length of the product


Number plus measurement unit

Supported units:

  • cm

  • in

Values between 1–3,000

Decimal values are supported (.)

{"product_detailed":{"product_length":"14 cm"}}

product_width
- Optional

Width of the product

Number plus measurement unit

Supported units:

  • cm

  • in

Values between 1–3,000

Decimal values are supported (.)

{"product_detailed":{"product_width":"14 cm"}}

product_height
- Optional

Length of the product

Number plus measurement unit

Supported units:

  • cm

  • in

Values between 1–3,000

Decimal values are supported (.)

{"product_detailed":{"product_height":"14 cm"}}

product_weight
- Optional

Weight of the product

Number plus measurement unit

Supported units:

  • g

  • kg

  • lb

  • oz

Values between 0–2,000  

Decimal values are supported (.)

{"product_detailed":{"product_weight":"173 g"}}

product_detail

- Optional

Provide technical specifications or additional details of the product not explicitly covered by other attributes

Json Array containing Json Object with keys:

  • section_name (Optional but recommended)

  • attribute_name (Required)

  • attribute_value (Required)

String (Alphanumeric, Unicode characters. Recommended: ASCII)

Section name: up to 140 characters

Attribute name: up to 140 characters

Attribute value: up to 1,000 characters

{"product_detailed":{"product_detail":[

        {

           "section_name":"General",

           "attribute_name":"Product Type",

           "attribute_value":"Digital player"

        },

        {                 "attribute_name":"Product Type",

           "attribute_value":"Digital Video"

        }

]}}

product_highlight

- Optional

Provide short bulleted lists of the most relevant highlights of your products

Json Array of String

String (Alphanumeric, Unicode characters. Recommended: ASCII)

1–150 characters per highlight

Minimum 2, Maximum of 100 highlights

{"product_detailed":{“product_highlight":[

        "Supports thousands of apps, including Netflix, YouTube, HBO Now, Spotify, Showtime, Pandora, Google Play Movies",

        "Supports thousands of apps, including Netflix, YouTube, HBO Now, Spotify, Showtime, Pandora, Google Play Movies",

        "Supports thousands of apps, including Netflix, YouTube, HBO Now, Spotify, Showtime, Pandora, Google Play Movies"

]}}

Shopping Campaigns and other configurations

  • If no shopping camping information is required, the key does not need to be set.

lifestyle_image_link

- Optional

Include the URL for a lifestyle image to showcase your product in a real world context, for example, clothing worn by a model, furniture staged within a room, multiple products displayed as a complete set, or products shown with vivid background colours or presented in playful situations.

URL (including http or https), ASCII characters only, and RFC 3986 compliant

GIF (.gif), JPEG (.jpg/.jpeg), PNG (.png), BMP (.bmp), and TIFF (.tif/.tiff). The image's file extension should correspond to its format

1–2,000 characters

  • Use an image with a minimum resolution of 600 x 600 pixels and an aspect ratio between 2:0 and 2:3.

  • Don't use an image that contains promotional elements or other text

{"shopping_campaign":{"lifestyle_image_link":"https://www.example.com/image1.jpg"}}

Delivery

  • If no delivery information is required, the key does not need to be set.

shipping

- Optional

Provide shipping speed and cost for the product. The ‘shipping’ attribute uses sub-attributes to define country, delivery area, service, price, handling time, and transit time.

Json Array containing Json Object with keys:

  • ‘country’ (required) - the country that the product can be delivered to  

    • ISO 3166-1 country code

  • Delivery area - submit one of the following:

    • ‘region’ (optional) - region/state/territory or prefecture

      • Submit a subdivision code from the ISO 3166-2 code tables (AU, BR, FR DE, IN, JP, NZ, US) without country prefix (for example, NSW, RJ, ARA, BE, AP, 03, AUK, NY

    • ‘postal_code' (optional) - postal code range

      • Use a ZIP or postal code (for example, 94043 for US and 2009 for Australia).

      • Use a range of postal codes (for example, 94002-95460 for US and 2009-3000 Australia).

    • location_id (optional) -  numeric criteria ID of your location defined by Google Ads API (AdWords API)

      • Awin accepts feeds with the location_id value, but recommends using ‘region’ or ‘postal code’ as this will be easier to interpret for publishers

    • location_group_name (optional) - location group set in Google Merchant Centre

      • Awin accepts feeds with the location_id value, but recommends using ‘region’ or ‘postal code’ as this will be easier to interpret for publishers

  • ‘service’ (optional) - service class or shipping speed

  • ‘price’ (optional) - shipping cost

    • Submit a fixed shipping cost using a decimal separator (e.g. 3.99 GBP)

  • Handling time (optional)

    • min_handling_time (optional) - minimum number of days between when an order is placed and when it's handed off to a shipping carrier

      • Whole number between 1–1,000

      • Refrain from using both the shipping sub-attributes for handling time and the standalone attributes for handling time

  • max_handling_time (optional) - maximum number of days between when an order is placed and when it's handed off to a shipping carrier

    • Whole number between 1–1,000

    • Refrain from using both the shipping sub-attributes for handling time and the standalone attributes for handling time

  • transit_time (optional)  

    • min_transit_time: minimum number of days between when a product is handed off to a shipping carrier and when it's delivered to the customer

      • Whole number between 1–1,000

    • max_transit_time: maxium number of days between when a product is handed off to a shipping carrier and when it's delivered to the customer

  • Whole number between 1–1,000

{"delivery":{"shipping": [

        {

           "country":"US",

           "region":"US",

           "postal_code":"80302",

           "location_id":21137,

           "location_group_name":"Outback",

           "service":"Overnight",

           "price":"16.00 USD",

           "min_handling_time":1,

           "max_handling_time":1,

           "min_transit_time":3,

           "max_transit_time":3

        }

]}}

shipping_weight

- Optional

The weight to use when calculating shipping costs

Number plus measurement unit

Supported units:

  • g

  • kg

  • lb

  • oz

Values between 1–1,000 for metric and 1–2,000 for imperial

Decimal points (e.g. 1.5 kg) are supported

{"delivery":{"shipping_weight":"3 kg"}

shipping_length

- Optional

Length dimensions of the package for the product

Number plus measurement unit

Supported units:

  • cm

  • in

Values between 1–400 for metric and 1–150 for imperial

{"delivery":{"shipping_length":"20 in"}

shipping_width

- Optional

Width dimensions of the package for the product

Number plus measurement unit

Supported units:

  • cm

  • in

Values between 1–400 for metric and 1–150 for imperial

{"delivery":{"shipping_width":"40 cm"}

shipping_ height

- Optional

Height dimensions of the package for the product

Number plus measurement unit

Supported units:

  • cm

  • in

Values between 1–400 for metric and 1–150 for imperial

{"delivery":{"shipping_height":"20 in"}

ships_from_country

- Optional

The country from which the product will usually be dispatched from


String (Unicode characters)

ISO 3166-1 Alpha-2 country code

{"delivery":{"ships_from_country":"DE"}

min_handling_time

- Optional

The shortest amount of time between when an order is placed for a product and when the product ships

Number (whole number), greater than or equal to 0

Integer, greater than or equal to 0

  • If you prefer giving a range than a specific number, you can use ‘max_handling_time’ attribute together with the ‘min_handling_time’ attribute. If you don't want to express a range, you don't need to use the ‘minimum_handling_time’ attribute.

{"delivery":{"min_handling_time":1}

max_handling_time

- Optional

The longest amount of time between when an order is placed for a product and when the product ships

Number (whole number), greater than or equal to 0

  • If you prefer giving a range than a specific number, you can use ‘max_handling_time’ attribute together with the ‘min_handling_time’ attribute. If you don't want to express a range, you don't need to use the ‘minimum_handling_time’ attribute.

{"delivery":{"max_handling_time":10}

Tax

  • If no tax information is required, the key does not need to be set.

  • Tax fields are required for US Tax only, otherwise they’re optional.

tax

- Required for the United States/Optional

The product’s sales tax. Google only support this for US sales tax. Don't use it for other taxes, such as value-added tax (VAT) or import tax

Json Array containing Json Object with keys:

  • ‘country’ (optional) - the country a product can be delivered to

    • Google currently only supports the value ‘US’

    • If no value is submitted, it will default to ‘US’

  • Area (optional) - provide one of the following:

    • ‘region’ (optional) - submit a state

      • Submit an ISO 3166-2 code without country prefix (e.g. 'CA')

    • ‘postal_code’ (optional) - a postal code range

      • A postal code (for example, “94043")

      • A range of postal codes (for example, “94002-95460”)

      • A range of postal codes using a prefix with a wildcard ( * ) (for example, “94*”)

      • A range of postal codes using 2 prefixes with wildcards ( * ) (for example, “94*-95*”)

  • ‘location_id’ (optional) -  numeric criteria ID of your location defined by Google Ads API (AdWords API)

  • Awin accepts feeds with the location_id value, but recommends using ‘region’ or ‘postal code’ as this will be easier to interpret for publishers

  • ‘rate’ (required) - Tax rate as a percentage of the price

    • Number with decimal point (e.g. 8.75 to indicate 8.75%)

  • ‘tax_ship' (optional) - whether tax is charged on shipping

    • Accepted values are ‘yes’ and ‘no’

{"tax":{

     "tax":[

        {

           "country":"US",

           "region":"CA",

           "postal_code":"94043",

           "rate":8.75,

           "tax_ship":"yes"

        }

     ]

}}


Was this article helpful?

What's Next