First you need to create your feeds, then Google evaluates them.
Create feeds
-
Generate your feed(s). You transmit most of your inventory data to Google by feeds. To get started, create your
Merchant
feed,Service
feed andAvailability
feed-
Merchant
feed: Describes your merchants (venues). -
Service
feed: Describes your events and associated artists. -
Availability
feed: Describes your event's availability.
Events Feeds - Required and Recommended fields
Merchant
feedMerchant
fieldsDescription Requirement merchant_id
Unique identifier for the merchant. Required name
Name of the merchant (venue). Limited to 150 characters. Required geo.address
Structured address coordinates of the merchant (venue) following this format. If you are unable to provide this format please provide geo.unstructured_address
instead as a single string. Structured address is recommended over unstructured address.Required geo.latitude
Geo coordinate (latitude) of the merchant (venue). Optional geo.longitude
Geo coordinate (longitude) of the merchant (venue). Optional telephone
Telephone of the merchant (venue). Optional category
Place type of the merchant (venue). This should match the Google Business Profile category for the venue. Optional url
URL of the merchant (venue). Optional Service
feedService
fieldsDescription Requirement service_id
Unique identifier for the event. Required merchant_id
Unique identifier for the venue. Required localized_service_name
Name of event. Limited to 150 characters. Required localized_description
Description of the event. Limited to 16,000 characters. May contain HTML, but only the following tags are supported: h1-h5, ul, ol, li, strong, italic, em, p, br. Recommended action_link
Localized URL that references the partner's ticket page. May be the same as ticketing_vertical_specific_data.event_url
.Required related_media
Images of the event. Please adhere to these guidelines. Strongly recommended type
Set to: SERVICE_TYPE_EVENT_TICKET
.Required ticket_type.ticket_type_id
Unique ID within a service that differentiates between different ticket types of the same service.
Note: Currently, our system only supports displaying 1 ticket per service. If multipleticket_type
are provided, our system will display the cheapest. Only provide ticket types that are available to all users (general ticket for adult) and don't provide discount only limited to some users (like child discount).Required ticket_type.inventory_type
Differentiates between different ticket types: INVENTORY_TYPE_PRIMARY
,INVENTORY_TYPE_VERIFIED_RESALE
,INVENTORY_TYPE_RESALE
orINVENTORY_TYPE_AGGREGATOR
.Required ticket_type.price
The price of a single ticket of this type, exclusive of any taxes or fees (taxes/fees must be populated in per_ticket_fee
, if price is provided). This should be the minimum general admission ticket for the service inventory type.Conditionally required ticket_type.per_ticket_fee.service_charge
Service charge for purchasing this ticket. This field is required if the price field is set (even if value is 0). Conditionally required ticket_type.per_ticket_fee.facility_fee
Additional fee for purchasing this ticket. This field is required if the price field is set (even if value is 0). Conditionally required ticket_type.per_ticket_fee.taxes
Taxes for purchasing this ticket. This field is required if the price field is set (even if value is 0). Conditionally required ticket_type.localized_short_description
Description of this ticket, if any. The field can be supplied in multiple locales. Limited to 16,000 characters. Required ticketing_vertical_specific_data.entity.id
Unique identifier of the entity in the partner's database. If you don't store a unique ID, you can fill this with the musicbrainz ID (if relevant). Required ticketing_vertical_specific_data.event_category
Category of event; for music events this should be EVENT_CATEGORY_CONCERT
. If unsure, useEVENT_CATEGORY_UNSPECIFIED
.Required ticketing_vertical_specific_data.event_url
Canonical base URL linking to the page of the even—that is, no params attached—to send users to for purchasing tickets.This can be the same as the action_link. Required ticketing_vertical_specific_data.brand_name
Localized brand name. By default, your brand name will be the same as the name of your partner portal account. If you want to change your name or have a different brand name for different events or have a different brand name per locale, use this field. You must also contact your Google POC to turn on this feature. Optional ticketing_vertical_specific_data.entity.name
Name of the event performer or performing group. Limited to 150 characters. Required ticketing_vertical_specific_data.entity.url
URL that references the partner's info page for the event performer, if available. Recommended ticketing_vertical_specific_data.entity.entity_type
Type of entity. Possible values include ENTITY_TYPE_PERFORMER
: when entity is music artistENTITY_TYPE_CONCERT_TOUR
: when entity is a tour.Required ticketing_vertical_specific_data.entity.entity_role
Event participant's role for an event (e.g. headliner or opener for music events). Possible values for concerts: ENTITY_ROLE_HEADLINER
.Recommended ticketing_vertical_specific_data.entity.public_identification_data.musicbrainz_id
36-character public artist ID from "musicbrainz.org/doc/MusicBrainz_Identifier," this can be set only when entity.type is ENTITY_TYPE_PERFORMER
.Recommended ticketing_vertical_specific_data.entity.public_identification_data.relevant_url
Public URL dedicated to only the event participant (e.g. a website, Wikipedia, or IMDb page). Recommended Availability
feedAvailability
fieldsDescription Requirement service_id
Unique identifier for the associated Service. Required merchant_id
Unique identifier for the associated Merchant. Required start_sec
Start time of the event. Required duration_sec
Duration of the event. Used to calculate the datetime of the end of the event. Required spots_open
Total number of tickets available for purchase for the event. When an event is sold out, keep the inventory in the feed until the off-sale date, but set spots_open to 0. Required spots_total
Total number of tickets for the event. Must be >= spots_open. Required scheduling_rule_overrides.last_bookable_sec
Last second tickets are available for purchase. NULL is allowed if tickets are available until the event start_sec
.Optional scheduling_rule_overrides.first_bookable_sec
The first second (epoch) from which the tickets are available for purchase. Required Include feed metadata in each of your feeds that instructs Google on how to interpret the feed.
The following is a feed metadata snippet:
"metadata": { "generation_timestamp": "1467993600", "processing_instruction": "PROCESS_AS_COMPLETE", "total_shards": 1 }
-
-
Export your feeds. The feeds format is described with the protocol buffer 3 syntax, however you can reference the samples to see the JSON format. We recommend that you upload the feeds in JSON format.
-
Upload the feeds to your SFTP Dropbox. To upload your feeds, use the SFTP dropbox information that Google provided to you and the private key that you created in Setup. The Google SFTP server is available at
sftp://partnerupload.google.com
on port19321
.Upload your files with unique names, such as a name that includes a timestamp. Unique names help with troubleshooting and allow queries for the feed status.
To determine the size of the feeds and frequency of delivery, use the following guidelines:
-
Size of feed files and shards:
-
Keep the feed file size less than 200MB (after compression). Compress them using
gzip
- If your file may reach more than 200MB (after compression), split them in multiple shards following the Sharding feed files tutorial. However, this integration alone is unlikely to reach the 200MB limit.
-
Keep the feed file size less than 200MB (after compression). Compress them using
-
Frequency of complete updates:
- A complete merchant feed is provided at least once a day.
- A complete service feed is provided at least once a day.
- A complete availability feed is provided once a day.
-
Size of feed files and shards:
Google evaluates feeds
Once you upload your feeds, Google processes and evaluates them for quality and completeness. We look at several factors:
- Feeds meet the specifications.
- Feeds include all required fields.
- Merchant data matches with Google Maps locations.