The Events Calendar includes a feature that allows you to import events from other calendars, or to add a large number of events quickly from a CSV file.

We have step-by-step instructions for importing data from a CSV file in another post. The purpose of this post will be to provide files you can use to create your own imports. The Events Calendar is capable of importing a bunch of data for events, organizers, venues, tickets and RSVPs alike and the examples in this post will provide you with a starting point as well as a reference for the files you plan to import.

The bottom line is that each column in a file corresponds to information that would be entered directly in WordPress if you were creating an event, organizer, venue, ticket or RSVP post in the WordPress editor, If the information in the columns do not match the fields that are available in the editor, then it will not be included in the import. These examples will help you ensure that your data formats are correct before initiating the import process.

💡 It’s important to remember that some date formats can be rather ambiguous! For example, 05/06/2016 could be interpreted either as May 6th or as 5th June.*
For the best results we recommend using the unambiguous YYYY-MM-DD format for all dates.
* The first one is more common in North America. If you want to use the day first and month second format, be sure to use hyphens instead of slashes (i.e. 05-06-2016).

Venues

Field NameExample DataField TypeNotes
Venue NamePrecious LambString 
Venue DescriptionA non-profit preschool.HTML 
Venue CountryUnited StatesStringPreferably the country name.
Venue Address2005 Palo Verde AveString 
Venue Address 2 StringIs appended to the Venue Address line upon import.
Venue CityLong BeachString 
Venue State/ProvinceCAString 
Venue Zip90815String 
Venue Overwrite1StringShould geo-coordinates be used to determine the venue location? (Pro only)

0 = No (default)
1 = Yes
Venue Latitude33.7924082String 
Venue Longitude-118.1105883String 
Venue Phone+1-800-123-4567Phone Number 
Venue Websitehttp://www.sherlock-holmes.co.uk/URL 
Venue Featured Imagehttp://www.sherlock-holmes.co.uk/wp-content/uploads/2016/05/29/sherlock-thumb.pngURLThis should be a direct URL to the image.

Organizers

Field NameExample DataField TypeNotes
Organizer NameGeorge-Michael BluthString 
Organizer DescriptionRecently started growing a <em>moustache</em>.HTML 
Organizer Email[email protected]Email address 
Organizer Websitehttp://fakeblock.comURL 
Organizer Phone+1-987-555-1238Phone Number 
Organizer Featured Imagehttp://halliburtonteen.com/wp-content/uploads/profiles/george-mb/550×400.jpgURLThis should be a direct URL to the image.

Events

Before importing events it is best to import or otherwise create the Organizers and Venues first. Once those are done, you can import an event and specify the unique Organizer name and Venue name that you have already added, and thus attach an event to the already imported organizers and/or venues.

Field NameExample DataField TypeNotes
Event NameTurtleneck FittingString 
Event DescriptionI <em>didn’t</em> invent the turtleneck, but…HTML 
Event ExcerptI’m afraid of any apex predator that lived through the <strong>K-T Extinction.</strong>HTMLThis is used as the excerpt, while the description is used as the actual content.
Event Start Date1965-12-31DateYYYY-MM-DD format recommended.
Example is for an event on December 31st, 1965.
Event Start Time21:30:00TimeThe time of day that the event starts. Example is for an event starting at 9:30pm.
Event End Date1966-01-01DateYYYY-MM-DD format recommended.
Example is for an event ending on January 1st, 1966.
Event End Time00:50:00TimeThe time of day that the event ends. Example is for an event ending at 12:50am.
All Day EventFALSEBooleanWhen true the event is treated as lasting all day from the beginning of the Start Date to the end of the End Date. The Start/End Time fields are essentially ignored and can be left blank.
TimezoneAmerica/New_YorkStringThis should be a valid Timezone string. Timezones can be represented in numerous acceptable ways. You can find a list of acceptable timezones sorted by continent here.
Hide from Event ListingsFALSEBooleanWhen true, the event will appear in Month View, but in “List” views like the outright List View, the Photo View, etc.
Sticky in Month ViewTRUEBooleanWhen true, the event will appear at the top of its corresponding “day” square in the Month View, regardless of other events that day at other times.
Event Venue NameArcher’s PenthouseComma SeparatedMust match exactly the Venue Name of a preexisting Venue (see note about multiple venues).
Event OrganizersWoodhouse, Chelsea S., 42Comma SeparatedMust match exactly the Organizer Name of a preexisting Organizer, or you can use the Organizer’s post ID. You can enter multiple Organizer Names or IDs separated by commas.
Event Show Map LinkTRUEBoolean 
Event Show MapTRUEBoolean 
Event Cost500StringSet to 0 for a free event. Leave blank if you do not wish the cost field to appear. Otherwise specify a single number for the event cost. This field is essentially unused when a ticketing plugin is active.
Event Currency Symbol$String This field is essentially unused when a ticketing plugin is active.
Event Currency PositionprefixUniqueSets whether the Currency Symbol is a prefix or suffix. Accepts two values “prefix” and “suffix”. When left blank the default “prefix” is used. This field is essentially unused when a ticketing plugin is active.
Event ISO Currency CodeUSD, EURStringAdds the ISO currency code when adding an event cost.
Event CategoryTacktleneck, TailorComma SeparatedSeparate multiple categories with commas. The example puts this event in two categories: Tacktleneck and Tailor.
Event TagsValet, Mission ready, PPKComma SeparatedSeparate multiple tags with commas
Event Websitehttp://doyounot.comURL 
Event Featured Imagehttp://doyounot.com/wp-content/uploads/thumbs/event.pngURLThis should be a direct URL to the image.
Allow CommentsTRUEBooleanWhen true, comments will be allowed on the event.
Allow Trackbacks and PingbacksFALSEBooleanWhen true, trackbacks and pingbacks will be allowed on the event.

💡 While it is possible to enable support for multiple venues, by default you can only assign a single venue to each event. So, while comma-separated values are technically supported for venues, this really only makes sense if multiple venue support is enabled. In general, it’s recommended you specify a single venue here.

Virtual Events

When using our Virtual Events add-on, you’ll have access to the following additional fields that you can import with your events.

Field NameExample DataField TypeNotes
Configure Virtual Event?TRUEBooleanWhen Virtual Events is enabled, you can select TRUE.
Type of Event (Virtual, Hybrid)VirtualStringWhen Virtual Events is enabled, you can select Virtual or Hybrid.
Video Source URLhttps://www.youtube.com/watch?v=2HMV0JhnB8kURLOnly valid when Virtual Events is enabled.
Embed Video?TRUEBooleanWith Virtual Events enabled.
Linked Button TextButtonStringCan use any string to display on button.
Linked ButtonTRUEBoolean 
Show Embed atat-startStringCan choose from ‘at-start’ or ‘immediately’.
Show Virtual Event Icon on Single?TRUEBooleanDictates if the virtual event icon displays on the single event page.
Show Virtual Event on all ViewsTrueBoolean 
Show Embed ToAllStringOptions are: all, logged-in, rsvp, ticket
Include Link in RSVP Email?TRUEBooleanAvailable when using Virtual Events with Event Tickets
Include Link in Ticket Email?TRUEBooleanAvailable when using Virtual Events with Event Tickets Plus

RSVP Fields

Before importing RSVPs, you should ensure that the events (or other post types) they are associated with have been imported, too. These are the RSVP fields that can be imported via CSV:

Field NameExample DataField TypeNotes
Event Name, ID, or SlugNYPL Author Series: Shane PearlmanString 
Ticket NameGeneral SeatingString 
Ticket DescriptionReservation for a seat in the <strong>Peifer Auditorium</strong>.HTML 
Ticket Start Sale Date2016-12-01Date YYYY-MM-DD format recommended.
Ticket Start Sale Time14:30:00Time 
Ticket End Sale Date2016-12-15Date YYYY-MM-DD format recommended.
Ticket End Sale Time21:30:00Time 
Ticket Stock450IntegerCSV only accepts integers for ticket stock.
Ticket Show DescriptionYes|NoString 

Tickets Fields

Before importing tickets, you should ensure that the events (or other post types) they are associated with have been imported, too. These are the tickets fields that can be imported via CSV:

Field NameExample DataField TypeNotes
Event Name, ID, or SlugNYPL Author Series: Shane PearlmanString 
Ticket NameGeneral SeatingString 
Ticket DescriptionTicket for a seat in the <strong>Peifer Auditorium</strong>.HTML 
Ticket Start Sale Date2016-12-01Date YYYY-MM-DD format recommended.
Ticket Start Sale Time14:30:00Time 
Ticket End Sale Date2016-12-15Date YYYY-MM-DD format recommended.
Ticket End Sale Time21:30:00Time 
Ticket Price$25.00StringAn integer without the currency symbol is also acceptable.
Ticket Stock450IntegerCSV only accepts integers for ticket stock.
Ticket SKUGEN-ADString 

Note that only WooCommerce Tickets, not Easy Digital Downloads (EDD) Tickets, can be imported via CSV.

A separate example CSV file to download is not available for WooCommerce Tickets. Please use the RSVP Fields CSV file and, if desired, add the Ticket Price and/or Ticket SKU columns to the CSV. Within your wp-admin Import settings, you will tell the importer which ticket type is being imported: “RSVPs” or “Tickets” meaning tickets created with WooCommerce.

Events Calendar Pro Additional Fields

In addition to the above fields, you can add custom fields with the Events Calendar Pro add-on. Each field you add will appear in the CSV Importer as an available field to be imported. The name of the field will be the label you typed in when you added the field. There are six field types, and the following table breaks down which types the importer accepts:

Field NameExample DataField TypeNotes
(Text Field)I swear I had something for this.String 
(Text Area Field)Do you want ants? …because that’s how you get ants.String 
(URL Field)http://www.algersoft.net/URL 
(Radio Field)Read a bookStringPrefers you input an exact case-sensitive match to the name of an existing option in this custom field. Example selects the option “Read a book.”
(Checkboxes Field)Boop|YupStringTo select multiple items separate the names of the items with a pipe bar | character. The example selects the two options “Boop” and “Yup”.
(Dropdown Field)Danger Zone!StringPrefers you input an exact case-sensitive match to the name of an existing option in this custom field. Example selects the option “Danger Zone!”

Field types

  • HTML: Accepts HTML. Further, it is run through wpautop(), meaning that two new line characters in a row are interpreted as a new paragraph (just like in the WordPress post/event editor).
  • String: Accepts most any text including numbers and special characters. New lines are typically ignored.
  • Boolean: Accepts boolean values such as true or false, 1 or 0, yes or no. These values are not case sensitive, so true would also be a valid value. When left blank the default option is applied, which is typically false.
  • Integer:
  • Date: Accepts formatted dates. Preferably use the ISO 8601 date format YYYY-MM-DD as it is unambiguous (ex. 2015-12-31). If you wish to use the North American “middle-endian” format, slashes are recommended (ex. MM/DD/YYYY). If you wish to use the international little-endian format separate it with dashes (e.g. DD-MM-YYYY).
  • Time – Accepts formatted hours. Preferably use the ISO 8601 format HH:MM:SS (e.g. 23:59:59).
  • URL – Prefers full URLs with the protocol (e.g. http://) included.
  • Comma Separated – There is a certain bit of irony with this type. Accepts a comma-separated list of values (e.g. “Concert, Barbecue” will be interpreted as the two separate values “Concert” and “Barbecue”). If you are not exporting your data from  Microsoft Excel or a similar tool, make sure to properly escape the field so the commas are not interpreted as new CSV columns.
  • Email Address – Accepts any string, but prefers valid email addresses.
  • Phone Number – For proper internationalization include the full phone number with a country code and leading + (e.g. +1-800-867-5309)