This article describes how to upload a primary feed to enable vehicle ads.
If you're interested in submitting vehicle ads data through API, click here.
The primary feed is a list of all your vehicle inventory with descriptive attributes. Some attributes are required for all vehicle ads in your feed, some are required for certain types of vehicle ads and other attributes are recommended. Not providing a required attribute may prevent that particular vehicle ad from showing up in results and not providing recommended attributes may impact the ad's performance.
Google recommends submitting all your vehicle inventory in a single feed.
Note: To simplify the feed management experience, you can optionally work with a dedicated third-party provider such as Fullpath or Ansira. Vehicle feed providers can automate the creation and submission of vehicle feeds. Learn how to register and submit your feed.
Before you begin
- Supported vehicle types: Only non-commercial passenger vehicles such as cars and pickup trucks (utes in AU) are supported. Vehicle ads can't be used to promote RVs, boats, buses, trains, etc.
- Supported offers: Your feed should only include vehicle offers. It shouldn't include offers for spare parts, accessories or any other shopping offers.
- Attribute headers: You must use the exact attribute headers listed below for your feed to be processed correctly.
- Unique vehicle offers: Ensure that you submit each vehicle offer only once in the feed by checking the vehicle identification number (VIN). If the same vehicle is available for multiple shop codes or has multiple fulfilment types, these are supported by repeated fields for shop codes and the group attribute for vehicle fulfilment, and there is no need to submit a VIN multiple times for these scenarios. If a VIN is submitted for more than one vehicle offer, those offers will be disapproved in the feed.
- Exception: If you’re submitting offers in multiple languages, the VIN can be submitted once for each language (if available).
- In the EEA+UK, you should submit ID
[id]
as an alternative identifier. The ID must also appear on the vehicle’s landing page.
Build your primary feed
Step 1: Create a delimited text file, an XML file or use API
To start, create either a delimited text file (recommended) or an XML file or use the API. Note that neither automated feeds via website crawl nor vehicles added manually in Merchant Center are supported for vehicle ads.
Step 2: Tell us about the vehicles in your inventory
Your primary feed is Google’s source of information for your vehicle ads. The information that you submit in this feed is what appears to auto shoppers searching for your products.
Vehicle ads feed specification
Attribute | Description | Type |
---|---|---|
Google product category [google_product_category] |
Required Google Product Category. |
Select the category: OR Use category code: |
Vehicle fulfilment [vehicle_fulfillment] |
Required This group attribute is used with the |
Supported values:
This attribute can be repeated up to three times for each offer, allowing dealers to specify an option for each fulfilment type. |
Title [title] |
Optional Specific title for the vehicle for sale which is displayed in Merchant Center. |
Title is automatically generated based on other attributes. Dealers can list this independently, but it won't be used. |
Product type [product_type] |
Optional Use this attribute to include your own product categorisation system in your product data. |
String |
VIN [VIN] |
Required Optional in some countries Vehicle Identification Number, unique identifier for each car. If VIN |
String, 17 digits |
ID [id] |
Required Your product’s unique identifier. This can be an internal stock number or VIN. In the EEA+UK, this identifier should also appear on the vehicle’s landing page. |
String. Must be unique. |
Shop code [store_code] |
Required Unique alphanumeric identifier for each dealership. Note: The shop code attribute is case-sensitive and must match the shop codes submitted in your Business Profile. |
String This is a repeated field which can take multiple values. |
Image link [image_link] |
Required Single image of the specific vehicle. |
The URL for your main vehicle image. |
Additional image link [additional_image_link] |
Optional Up to 10 additional images of the specific vehicle. |
More images for your vehicle beyond the main image provided in the image link attribute, commonly used to show a vehicle from different angles. This is a repeated field which can take multiple values. |
Link template [link_template] |
Required for in-shop and deliver to shop offers Link to specific vehicle descriptions page (VDP). Make sure to include the Note: The parameter in the URL should be written using the words 'store_code'. Don’t input the actual shop code. |
The URL for the landing pages of the vehicle on your site. Example: including store_code as URL parameter: http://mikemart.com/123?store={store_code} Example: including store_code as part of URL path: http://acmestores.com/456/store/{store_code} |
Link [link] |
Required for online offers Link to specific vehicle descriptions page (VDP). |
The URL for the landing pages of the vehicle on your desktop site. |
Mobile link template [mobile_link_template] |
Optional Link to a specific vehicle descriptions page (VDP) for mobile devices. Make sure to include the Note: The parameter in the URL should be written using the words 'store_code'. Don’t input the actual shop code. |
The URL for the landing pages of the vehicle on your mobile site. |
Mobile link [mobile_link] |
Optional Link to a specific vehicle descriptions page (VDP) for mobile devices. |
The URL for the landing pages of the vehicle on your mobile site. |
Ads redirect [ads_redirect] |
Optional Similar to link_template but can include ads tracking parameters. Link to specific vehicle descriptions page (VDP). Make sure to include the |
Example: https://tracking.example.com?product=sports-car&store={store_code}&src=google¶m=abc |
Price [price] |
Required The selling price to be displayed on the ad. Make sure this price matches the most prominent or final price on your VDP landing page and complies with local laws with respect to price information. In the UK, the price must be inclusive of all taxes and non-optional charges actually paid by the consumer (in the local currency). In the United States, the price should be the actual price for which any consumer can purchase the advertised vehicle, excluding only required government charges and fees. |
Number plus currency (use ISO 4217). Example: |
Vehicle price type [vehicle_price_type] |
Required for new cars in Australia and Canada and used cars in Australia Optional in some countries Enum: All-in, Drive-away, etc. Learn more about the applicability of the vehicle price type attribute. |
Use the Supported values:
|
Vehicle MSRP [vehicle_msrp] |
Required for new cars in some countries Optional for used cars Manufacturer suggested retail price (MSRP) for the vehicle in its current configuration. If the MSRP isn't the same as the selling price (above), it should be displayed separately on your VDP landing page as well and labelled as MSRP. |
Use the same formatting as the price attribute. |
Vehicle all-in price [vehicle_all_in_price] |
Required for new cars in some countries Optional for used cars The all-in advertised price includes costs for the following – any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection (PDI), dealer fees for handling licensing, provincial regulatory fees, miscellaneous dealer charges for security etching and nitrogen tyre fill and factory-to-customer or dealer-to-customer discounts or incentives. This price must appear on the vehicle description page as well. Note: The all-in advertised price doesn’t include sales tax, licensing (the cost of the plate and registration), any trade-in or costs associated with vehicle financing. |
Use the same formatting as the price attribute. |
Instalment |
Optional Only available in the United Kingdom |
|
Condition [condition] |
Required The condition of the vehicle. Note: For a vehicle to be considered 'new', the maximum mileage must be 200 miles or 200 kilometres. |
Supported values:
|
Certified pre-owned [certified_pre-owned] |
Optional Car is OEM certified pre-owned. |
Boolean (yes /no ) |
Brand [brand] |
Required The name of the company that manufactured the vehicle. |
String |
Model [model] |
Required Model of the car without trim specifics. (e.g. submit 'Model' and not 'Model deluxe' or 'Model standard') |
String |
Trim [trim] |
Optional Trim of the model. |
String (for example, S, SV, SL) |
Year [year] |
Required Optional in some countries Model year. |
Integer (4 digit) |
Mileage [mileage] |
Required Number of miles on the vehicle. Make sure that you include the unit (km/miles). |
Integer + unit (km/miles) Example: |
Colour [color] |
Required OEM specified exterior colour, text. |
String Examples: White, Black, Red, Platinum, Metallic Tri-Coat Notes:
|
Vehicle option [vehicle_option] |
Optional (Required for free vehicle ads) List of installed options, using comma separators. (e.g. Leatherette seats, rear-view camera, navigation system, front-seat heaters, A/C, sunroof, Bluetooth) |
String The maximum number of values supported is 200. Each value may contain up to 256 characters. This is a repeated field which can take multiple values. |
Body style [body_style] |
Optional Enum: Sedan, SUV, Crossover, etc. |
Supported values:
|
Engine [engine] |
Optional Required in some countries Enum: Petrol, Diesel, Electric, Hybrid, etc |
Supported values:
|
Description [description] |
Optional Free text. Seller notes and options: free text field for additional information about the car, such as single owner and/or a separated list of installed options, e.g. leatherette seats, rear-view camera, navigation system, front-seat heaters, A/C seat(s), sunroof(s), satellite radio ready, etc. |
String |
Custom label [custom_label_[0-4]] |
Optional Add up to five custom labels.
For example, you could label a group of products by make, model or year. |
String Example:
|
Included destination [included_destination] |
Optional If you want to have your product participate in additional destinations (beyond what you specified in your feed settings), use the included destination |
Supported values:
|
Excluded destination [excluded_destination] |
Optional If you want to prevent your product from appearing in certain destinations, use the excluded destination |
Supported values:
|
Date first registered [date_first_registered] |
Required for used vehicles in some countries Optional in other countries |
String (MM-YYYY) Example:07-2020 |
Fuel consumption [fuel_consumption] |
Required in some countries for new cars if the engine is petrol, diesel, hybrid and plug-in hybrid The amount of fuel consumed in litres to travel 100 kilometres using the given vehicle. Note: The values specified must be measured in the combined test cycle. |
Number + unit Example:6.2 l/100km |
Fuel consumption discharged battery |
Required in some countries For example: 6.2 l/100km (the unit has lower case ‘L’) |
Number + Unit (l/100km) |
CO2 emissions [co2_emissions] |
Required in some countries for new cars. When engine = electric, enter 0 g/km. The CO2 emissions in g/km for the given vehicle. Note: The values specified must be measured in the combined test cycle. |
Number + unit Example:120 g/km |
Energy consumption [energy_consumption] |
Required in some countries for new cars if the engine is plug-in hybrid or electric. Note: The values specified must be measured in the combined test cycle. |
Number + unit Example:17.2 kWh/100km |
Electric range |
Required in some countries for new cars when engine is plug-in hybrid or electric Electric range for electric vehicles. Note: The values specified must be measured in the combined test cycle. Equivalent All Electric Range (EAER) for plug-in hybrid vehicles in km according to the local regulatory agency. |
Int + Unit (KM/MILES) Example: 2333 Miles |
Certification |
Required in Germany for new cars. The emissions certification for the vehicle (such as BMWK for Germany or ADEME for France). |
|
Emissions standard [emissions_standard] |
Emission standard associated with the CO2 emissions value for the vehicle. Required in Italy |
Supported values:
|
vehicle_fulfillment
group attribute
Group attribute | vehicle_fulfillment |
Accepted values |
|
Sub-attributes |
|
Text feeds
Format the group attribute name using vehicle_fulfillment
, then adding in parentheses one of the supported fulfilment values followed by store_code
(as needed). The store_code
sub-attribute needs to be repeated for each shop code value that you want to submit, separated by a colon ( : ).
Example: In-store fulfilment
If the store_code
sub-attribute is repeated in the group attribute name, but only one shop code value is submitted, the entry will still be accepted since there is only one colon in the value.
When a colon (:) doesn't indicate a separate sub-attribute value, the value should be surrounded by quotes (").
Name | vehicle_fulfillment(option:store_code:store_code) |
Values | in_store:1111:2222 |
Example: Online fulfilment
The store_code
sub-attribute isn't required for online offers.
Name | vehicle_fulfillment(option) |
Value | online |
Example 3: Hybrid offer
A hybrid offer combines both of the above examples as separate columns in the data
{other feed cols} |
vehicle_fulfillment(option) |
vehicle_fulfillment |
… | online |
in_store:1111:2222 |
Google Sheets
Format the group attribute name the same way as with text feeds. When a colon (:) isn't used to separate sub-attribute values, it should be submitted with a preceding backslash ( "\" )
Name | vehicle_fulfillment(option:store_code:store_code) |
Values | in_store:1111:2222 |
XML feeds
Include the store_code
sub-attribute as needed. To specify different fulfilment options, submit multiple vehicle_fulfillment
attributes and include the store_code
sub-attribute.
Example
<g:vehicle_fulfillment>
<g:option>online</g:option>
</g:vehicle_fulfillment>
<g:vehicle_fulfillment>
<g:option>in_store</g:option>
<g:store_code>1111</g:store_code>
<g:store_code>2222</g:store_code>
</g:vehicle_fulfillment>
Applicability of the price attributes
Country |
Inventory type |
Advertiser type |
price |
vehicle_price_type |
|
|
---|---|---|---|---|---|---|
Australia | Used | All | Required |
Required
|
Optional | Not applicable* |
New | All | Required | Required
|
Required | Not applicable* | |
Canada | Used | All | Required | Optional
Not applicable. Leave the attribute blank or don’t provide the attribute in the feed. |
Optional | Optional |
New | All | Required | Required
|
Optional | Required | |
France | Both | All | Required | Optional
Not applicable. Leave the attribute blank or don’t provide the attribute in the feed. |
Optional | Not applicable* |
Germany | Both | All | Required | Optional
Not applicable. Leave the attribute blank or don’t provide the attribute in the feed. |
Optional | Not applicable* |
United Kingdom | Both | All | Required | Optional
Not applicable. Leave the attribute blank or don’t provide the attribute in the feed. |
Optional | Not applicable* |
US | Used | All | Required | Optional
Not applicable. Leave the attribute blank or don’t provide the attribute in the feed. |
Optional | Not applicable* |
New | All | Required | Optional
Not applicable. Leave the attribute blank or don’t provide the attribute in the feed. |
Required | Not applicable* |
Not applicable* – Leave the attribute blank or don’t provide the attribute in the feed.
all_in_price
Applicable to: Canada
Required for all new car offers in Canada.
drive_away_price
Applicable to: Australia
The drive-away price includes stamp duty, luxury car tax (if applicable), compulsory third-party insurance, registration and dealer delivery.
- This price type or
estimated_drive_away_price
(below) is required for new cars in Australia. - This price type or
excluding_government_charges_price
(below) is required for used cars in Australia.
estimated_drive_away_price
Applicable to: Australia
The estimated drive-away price, like the drive-away price described above, includes stamp duty, luxury car tax (if applicable), compulsory third-party insurance, registration and dealer delivery, but is indicative only. The actual drive-away price may differ based on regional or other factors.
- This price type or
drive_away_price
(above) is required for new cars in Australia.
excluding_government_charges_price
Applicable to: Australia
The excluding government charges price excludes duties, fees, levies or charges payable by the consumer directly to a relevant third-party authority.
This price type or drive_away_price
(above) is required for used cars in Australia.
- Vehicle ads don’t have availability
[availability]
as an attribute. Therefore, don’t submit this attribute. Submitting it may lead to errors in the feed. - If you don’t submit a value for an optional attribute, Google interprets it as though that attribute hasn’t been submitted.
More frequent inventory updates
Inventory price and availability can change frequently. Increase the feed frequency to carry out more frequent updates of your inventory data. To submit product data through API, learn more about the Google Content API.