{"id":1896619,"date":"2019-10-18T13:19:39","date_gmt":"2019-10-18T17:19:39","guid":{"rendered":"https:\/\/theeventscalendar.com\/knowledgebase\/importing-data-from-a-csv-file-2\/"},"modified":"2026-04-22T01:24:41","modified_gmt":"2026-04-22T05:24:41","slug":"import-events-csv","status":"publish","type":"post","link":"https:\/\/theeventscalendar.com\/knowledgebase\/import-events-csv\/","title":{"rendered":"Importing Calendar Data From a CSV File"},"content":{"rendered":"\n<iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/FapyBdRXdEk\" title=\"YouTube video player\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\" width=\"560\" height=\"315\" frameborder=\"0\"><\/iframe>\n\n\n\n<p>The Events Calendar includes a CSV importer that lets you import events, venues, organizers, RSVPs, and tickets into your site&#8217;s calendar in bulk. The importer is part of the <a href=\"https:\/\/theeventscalendar.com\/product\/event-aggregator\/\">Event Aggregator<\/a> plugin, but the CSV import tool itself is <strong>free and included when you install The Events Calendar<\/strong> \u2014 you don&#8217;t need an Event Aggregator license to use it.<\/p>\n\n\n\n<p>This article covers both the step-by-step import flow and the full field reference for each content type you can import. Use the table of contents to jump straight to the field reference if you already know the import flow.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-you-lost-me-at-csv\">You Lost Me at CSV&#8230;<\/h2>\n\n\n\n<p>CSV is a file format that stands for <em>comma-separated values<\/em>. CSV files are often produced by spreadsheet applications like Excel and Numbers, but they can come from other sources as well. The format converts a spreadsheet from a grid of cells into a plain-text file where each row is a line and each cell is separated by a comma.<\/p>\n\n\n\n<p>For example, a spreadsheet row with the following cells:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Cell 1<\/td><td>Cell 2<\/td><td>Cell 3<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>&#8230;would be converted to this in CSV:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Cell 1,Cell 2,Cell 3<\/code><\/pre>\n\n\n\n<p>This plain-text structure is what makes the data readable by importing tools.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-generating-a-csv-file\">Generating a CSV File<\/h2>\n\n\n\n<p>Saving a spreadsheet as CSV is usually an option in your spreadsheet application&#8217;s Save dialog. In most cases, go to <strong>File \u2192 Save As<\/strong> and select CSV as the file format.<\/p>\n\n\n\n<p>For the specific columns available for each content type \u2014 events, venues, organizers, RSVPs, tickets \u2014 see the <a href=\"#h-csv-field-reference\">CSV Field Reference<\/a> section below. Example files for each content type are available there as well.<\/p>\n\n\n\n<p>\ud83d\udca1 <strong>Some versions of Microsoft Excel export CSV files with non-standard separator characters (such as semicolons) by default.<\/strong> To ensure your CSV exports can be imported successfully, make sure Excel is configured to use the comma (<code>,<\/code>) as the separator. Refer to your software&#8217;s documentation if you need help adjusting this setting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-importing-a-csv-file\">Importing a CSV File<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-go-to-the-import-screen\">Go to the Import Screen<\/h4>\n\n\n\n<p>From the WordPress dashboard, navigate to <strong>Events \u2192 Import<\/strong> in the left-hand menu.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-select-csv-as-the-import-origin\">Select CSV as the Import Origin<\/h4>\n\n\n\n<p>The first field on the screen asks you to identify the source of your import. Select <strong>CSV File<\/strong> from the list of options.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2016\/10\/csv_file_import_origin.png\" alt=\"Selecting CSV File as the import origin\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-select-the-type-of-content-to-import\">Select the Type of Content to Import<\/h4>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2016\/09\/kb-ea-csv-step3.png\" alt=\"Selecting the content type for CSV import\"\/><\/figure>\n\n\n\n<p>By default, there are three options for data types that can be imported:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Events<\/strong> \u2014 Posts that will be identified as events and published on The Events Calendar.<\/li>\n\n\n\n<li><strong>Organizers<\/strong> \u2014 Saved event organizers that can be associated with events.<\/li>\n\n\n\n<li><strong>Venues<\/strong> \u2014 Saved event locations that can be associated with events.<\/li>\n<\/ul>\n\n\n\n<p>If you&#8217;re planning to import venue and organizer information alongside events, <strong>import venues and organizers first<\/strong>. The event importer matches venues and organizers by exact name, so those records must already exist for the association to be made.<\/p>\n\n\n\n<p>\ud83d\udca1 If you&#8217;re using Event Tickets and\/or Event Tickets Plus, you&#8217;ll also see options to import <strong>RSVPs<\/strong> or <strong>Tickets<\/strong> via CSV:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>RSVPs<\/strong> appears when the Event Tickets plugin is active.<\/li>\n\n\n\n<li><strong>Tickets<\/strong> appears when Event Tickets, Event Tickets Plus, <em>and<\/em> WooCommerce are all active.<\/li>\n<\/ul>\n\n\n\n<p>Import RSVPs and tickets <em>after<\/em> you&#8217;ve imported events, since they must be associated with existing events.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/07\/RSVPs-and-Tickets-options.png\" alt=\"RSVPs and Tickets options in the content type dropdown\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-select-the-file-to-upload\">Select the File to Upload<\/h4>\n\n\n\n<p>Click the <strong>Upload<\/strong> button and select the CSV file from your computer. The file will be saved to the WordPress Media Library and remain available for future use.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-preview-the-content-and-map-your-fields\">Preview the Content and Map Your Fields<\/h4>\n\n\n\n<p>Once you&#8217;ve selected the file, click <strong>Preview<\/strong>. This generates a preview of a portion of your CSV data in table format with column headings and dropdown fields.<\/p>\n\n\n\n<p>Before importing, you need to <strong>map<\/strong> each column in your CSV to the corresponding content field in The Events Calendar. The preview only shows some rows from your file \u2014 you only need to see enough to map the fields. The actual import will include all the data.<\/p>\n\n\n\n<p>The column headings in your preview match the headings in your original spreadsheet. Each dropdown menu contains the available content fields (event, venue, organizer, ticket, etc., depending on what you&#8217;re importing). For each column, use the dropdown to select the correct content field. Scroll right until all columns you want to import are mapped.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2016\/09\/mapping-columns.gif\" alt=\"Mapping CSV columns to content fields\"\/><\/figure>\n\n\n\n<p>\ud83d\udca1 If your CSV column headings match the recommended field names from the <a href=\"#h-csv-field-reference\">CSV Field Reference<\/a> below, the dropdown selections will usually auto-populate. If your columns come from an external source with different names, choose the option from each dropdown that best matches the column&#8217;s content, or leave it as <em>Do Not Import<\/em> to skip it.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-run-the-import\">Run the Import<\/h4>\n\n\n\n<p>Before running the import, set the <strong>Publish<\/strong> status for the imported content:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Published<\/strong> \u2014 Content is published to your site right away.<\/li>\n\n\n\n<li><strong>Draft<\/strong> \u2014 Content is saved but not published; available for editing after import.<\/li>\n\n\n\n<li><strong>Pending Review<\/strong> \u2014 Content is flagged for review by an editor or administrator before publishing.<\/li>\n\n\n\n<li><strong>Private<\/strong> \u2014 Content is published immediately but only accessible to logged-in users with permission to view it.<\/li>\n<\/ul>\n\n\n\n<p>You can also bulk-assign event categories from a list of existing categories on your site. This option only matters when importing events \u2014 it&#8217;s irrelevant for organizers, venues, RSVPs, or tickets.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2016\/09\/Screen-Shot-2016-09-27-at-7.44.56-PM.png\" alt=\"Setting publish status and category for CSV import\"\/><\/figure>\n\n\n\n<p>Once you&#8217;ve reviewed your settings, click <strong>Import All<\/strong>.<\/p>\n\n\n\n<p>\u26a0\ufe0f <strong>Important:<\/strong> All imported tickets will be treated as WooCommerce Tickets.<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\" id=\"h-how-csv-import-handles-duplicates\">How CSV Import Handles Duplicates<\/h2>\n\n\n\n<p>Before we get started, it&#8217;s worth knowing that CSV imports will <strong>update<\/strong> existing events rather than duplicate them when certain conditions are met:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-for-all-day-events\">For All-Day Events<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The event <strong>title<\/strong> is identical.<\/li>\n\n\n\n<li>The event is marked as an <strong>all-day<\/strong> event.<\/li>\n\n\n\n<li>The <strong>start date<\/strong> (date only, from <code>_EventStartDate<\/code>) matches exactly.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-for-timed-non-all-day-events\">For Timed (Non-All-Day) Events<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The event <strong>title<\/strong> is identical.<\/li>\n\n\n\n<li>The <strong>start date and time<\/strong> are exactly the same.<\/li>\n\n\n\n<li>The <strong>end date and time<\/strong> are exactly the same.<\/li>\n<\/ul>\n\n\n\n<p>These conditions ensure that only genuinely identical events are updated during import.<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-csv-field-reference\">CSV Field Reference<\/h2>\n\n\n\n<p>Each column in a CSV file corresponds to a field that would be filled in manually when creating an event, organizer, venue, ticket, or RSVP in the WordPress editor. If a column name doesn&#8217;t match a recognized field, it won&#8217;t be included in the import. The field names and example data below are the recommended column headings to use in your files.<\/p>\n\n\n\n<p>\ud83d\udca1 <strong>Use <code>YYYY-MM-DD<\/code> for all dates.<\/strong> Some date formats are ambiguous \u2014 for example, <code>05\/06\/2016<\/code> could be read as May 6th or June 5th depending on locale. The ISO format <code>YYYY-MM-DD<\/code> is always unambiguous. If you need to use the day-first international format, use hyphens rather than slashes (e.g. <code>05-06-2016<\/code>).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-venues\">Venues<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field Name<\/th><th>Example Data<\/th><th>Field Type<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td>Venue Name<\/td><td>Precious Lamb<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Venue Description<\/td><td>A non-profit preschool.<\/td><td>HTML<\/td><td><\/td><\/tr><tr><td>Venue Country<\/td><td>United States<\/td><td>String<\/td><td>Preferably the full country name.<\/td><\/tr><tr><td>Venue Address<\/td><td>2005 Palo Verde Ave<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Venue Address 2<\/td><td><\/td><td>String<\/td><td>Appended to Venue Address on import.<\/td><\/tr><tr><td>Venue City<\/td><td>Long Beach<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Venue State\/Province<\/td><td>CA<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Venue Zip<\/td><td>90815<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Venue Overwrite<\/td><td>1<\/td><td>String<\/td><td>Whether geo-coordinates should determine venue location (Pro only). <code>0<\/code> = No (default), <code>1<\/code> = Yes.<\/td><\/tr><tr><td>Venue Latitude<\/td><td>33.7924082<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Venue Longitude<\/td><td>-118.1105883<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Venue Phone<\/td><td>+1-800-123-4567<\/td><td>Phone Number<\/td><td><\/td><\/tr><tr><td>Venue Website<\/td><td>http:\/\/www.example.com\/<\/td><td>URL<\/td><td><\/td><\/tr><tr><td>Venue Featured Image<\/td><td>http:\/\/www.example.com\/image.png<\/td><td>URL<\/td><td>Must be a direct URL to the image file.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/wp-content\/uploads\/2020\/09\/test-data-venue-4.csv\">Download Example File for Venues<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-organizers\">Organizers<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field Name<\/th><th>Example Data<\/th><th>Field Type<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td>Organizer Name<\/td><td>George-Michael Bluth<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Organizer Description<\/td><td>Recently started growing a moustache.<\/td><td>HTML<\/td><td><\/td><\/tr><tr><td>Organizer Email<\/td><td>gmbluth@example.com<\/td><td>Email Address<\/td><td><\/td><\/tr><tr><td>Organizer Website<\/td><td>http:\/\/fakeblock.com<\/td><td>URL<\/td><td><\/td><\/tr><tr><td>Organizer Phone<\/td><td>+1-987-555-1238<\/td><td>Phone Number<\/td><td><\/td><\/tr><tr><td>Organizer Featured Image<\/td><td>http:\/\/example.com\/photo.jpg<\/td><td>URL<\/td><td>Must be a direct URL to the image file.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><a href=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/05\/Organizer-CSV-example-1.csv\">Download Example File for Organizers<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-events\">Events<\/h3>\n\n\n\n<p>Import or create your Venues and Organizers before importing Events. The event importer matches venues and organizers by exact name, so those records must already exist for the association to be made.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field Name<\/th><th>Example Data<\/th><th>Field Type<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td>Event Name<\/td><td>Turtleneck Fitting<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Event Description<\/td><td>I <em>didn&#8217;t<\/em> invent the turtleneck, but\u2026<\/td><td>HTML<\/td><td><\/td><\/tr><tr><td>Event Excerpt<\/td><td>I&#8217;m afraid of any apex predator\u2026<\/td><td>HTML<\/td><td>Used as the excerpt; the Description field is the full content.<\/td><\/tr><tr><td>Event Start Date<\/td><td>1965-12-31<\/td><td>Date<\/td><td><code>YYYY-MM-DD<\/code> recommended. Example: December 31st, 1965.<\/td><\/tr><tr><td>Event Start Time<\/td><td>21:30:00<\/td><td>Time<\/td><td>Time the event starts. Example: 9:30 pm.<\/td><\/tr><tr><td>Event End Date<\/td><td>1966-01-01<\/td><td>Date<\/td><td><code>YYYY-MM-DD<\/code> recommended. Example: January 1st, 1966.<\/td><\/tr><tr><td>Event End Time<\/td><td>00:50:00<\/td><td>Time<\/td><td>Time the event ends. Example: 12:50 am.<\/td><\/tr><tr><td>All Day Event<\/td><td>FALSE<\/td><td>Boolean<\/td><td>When true, the event lasts all day and Start\/End Time fields are ignored.<\/td><\/tr><tr><td>Timezone<\/td><td>America\/New_York<\/td><td>String<\/td><td>Must be a valid timezone string. See <a href=\"http:\/\/php.net\/manual\/en\/timezones.php\">PHP timezone list<\/a>.<\/td><\/tr><tr><td>Hide from Event Listings<\/td><td>FALSE<\/td><td>Boolean<\/td><td>When true, the event appears in Month View but not in list-style views.<\/td><\/tr><tr><td>Sticky in Month View<\/td><td>TRUE<\/td><td>Boolean<\/td><td>When true, the event appears at the top of its day cell in Month View regardless of start time.<\/td><\/tr><tr><td>Event Venue Name<\/td><td>Archer&#8217;s Penthouse<\/td><td>Comma Separated<\/td><td>Must exactly match the Venue Name of an existing venue. By default only one venue per event is supported \u2014 see note below.<\/td><\/tr><tr><td>Event Organizers<\/td><td>Woodhouse, Chelsea S., 42<\/td><td>Comma Separated<\/td><td>Must exactly match the Organizer Name, or use the organizer&#8217;s post ID. Separate multiple values with commas.<\/td><\/tr><tr><td>Event Show Map Link<\/td><td>TRUE<\/td><td>Boolean<\/td><td><\/td><\/tr><tr><td>Event Show Map<\/td><td>TRUE<\/td><td>Boolean<\/td><td><\/td><\/tr><tr><td>Event Cost<\/td><td>500<\/td><td>String<\/td><td>Use <code>0<\/code> for free events. Leave blank to hide the cost field. Unused when a ticketing plugin is active.<\/td><\/tr><tr><td>Event Currency Symbol<\/td><td>$<\/td><td>String<\/td><td>Unused when a ticketing plugin is active.<\/td><\/tr><tr><td>Event Currency Position<\/td><td>prefix<\/td><td>Unique<\/td><td>Accepts <code>prefix<\/code> or <code>suffix<\/code>. Defaults to <code>prefix<\/code>. Unused when a ticketing plugin is active.<\/td><\/tr><tr><td>Event ISO Currency Code<\/td><td>USD, EUR<\/td><td>String<\/td><td>Adds the ISO currency code alongside the event cost.<\/td><\/tr><tr><td>Event Category<\/td><td>Tacktleneck, Tailor<\/td><td>Comma Separated<\/td><td>Separate multiple categories with commas.<\/td><\/tr><tr><td>Event Tags<\/td><td>Valet, Mission ready, PPK<\/td><td>Comma Separated<\/td><td>Separate multiple tags with commas.<\/td><\/tr><tr><td>Event Website<\/td><td>http:\/\/example.com<\/td><td>URL<\/td><td><\/td><\/tr><tr><td>Event Featured Image<\/td><td>http:\/\/example.com\/image.png<\/td><td>URL<\/td><td>Must be a direct URL to the image file.<\/td><\/tr><tr><td>Allow Comments<\/td><td>TRUE<\/td><td>Boolean<\/td><td><\/td><\/tr><tr><td>Allow Trackbacks and Pingbacks<\/td><td>FALSE<\/td><td>Boolean<\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\ud83d\udca1 While comma-separated values are technically supported in the Venue Name field, by default each event can only be assigned one venue. Specifying multiple venues only has an effect if multiple venue support has been enabled. In general, specify a single venue name here.<\/p>\n\n\n\n<p><a href=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2023\/12\/CSV-file-for-example.csv\">Download Example File for Events<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-virtual-events\">Virtual Events<\/h3>\n\n\n\n<p>With <a href=\"https:\/\/theeventscalendar.com\/products\/events-calendar-pro\/\">Events Calendar Pro<\/a> installed, the following additional fields are available for virtual and hybrid events.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field Name<\/th><th>Example Data<\/th><th>Field Type<\/th><\/tr><\/thead><tbody><tr><td>Configure Virtual Event?<\/td><td>TRUE<\/td><td>Boolean<\/td><\/tr><tr><td>Type of Event (Virtual, Hybrid)<\/td><td>Virtual<\/td><td>String<\/td><\/tr><tr><td>Video Source URL<\/td><td>https:\/\/www.youtube.com\/watch?v=2HMV0JhnB8k<\/td><td>URL<\/td><\/tr><tr><td>Embed Video?<\/td><td>TRUE<\/td><td>Boolean<\/td><\/tr><tr><td>Linked Button Text<\/td><td>Button<\/td><td>String<\/td><\/tr><tr><td>Linked Button<\/td><td>TRUE<\/td><td>Boolean<\/td><\/tr><tr><td>Show Embed at<\/td><td>at-start<\/td><td>String<\/td><\/tr><tr><td>Show Virtual Event Icon on Single?<\/td><td>TRUE<\/td><td>Boolean<\/td><\/tr><tr><td>Show Virtual Event on all Views<\/td><td>True<\/td><td>Boolean<\/td><\/tr><tr><td>Show Embed To<\/td><td>All<\/td><td>String<\/td><\/tr><tr><td>Include Link in RSVP Email?<\/td><td>TRUE<\/td><td>Boolean<\/td><\/tr><tr><td>Include Link in Ticket Email?<\/td><td>TRUE<\/td><td>Boolean<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><a href=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2023\/01\/virtual_events_example-1.xlsx\">Download Example File for Virtual Events<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-rsvps\">RSVPs<\/h3>\n\n\n\n<p>Import RSVPs after importing the events they belong to, since RSVPs must be associated with existing events.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field Name<\/th><th>Example Data<\/th><th>Field Type<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td>Event Name, ID, or Slug<\/td><td>NYPL Author Series: Shane Pearlman<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Ticket Name<\/td><td>General Seating<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Ticket Description<\/td><td>Reservation for a seat in the Peifer Auditorium.<\/td><td>HTML<\/td><td><\/td><\/tr><tr><td>Ticket Start Sale Date<\/td><td>2016-12-01<\/td><td>Date<\/td><td><code>YYYY-MM-DD<\/code> recommended.<\/td><\/tr><tr><td>Ticket Start Sale Time<\/td><td>14:30:00<\/td><td>Time<\/td><td><\/td><\/tr><tr><td>Ticket End Sale Date<\/td><td>2016-12-15<\/td><td>Date<\/td><td><code>YYYY-MM-DD<\/code> recommended.<\/td><\/tr><tr><td>Ticket End Sale Time<\/td><td>21:30:00<\/td><td>Time<\/td><td><\/td><\/tr><tr><td>Ticket Stock<\/td><td>450<\/td><td>Integer<\/td><td>CSV only accepts integers for ticket stock.<\/td><\/tr><tr><td>Ticket Show Description<\/td><td>Yes|No<\/td><td>String<\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><a href=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2021\/06\/The-Events-Calendar-Sample-Data-RSVP1.csv\">Download Example File for RSVPs<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-woocommerce-tickets\">WooCommerce Tickets<\/h3>\n\n\n\n<p>Import tickets after importing the events they belong to. Note that only WooCommerce Tickets can be imported via CSV.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2025\/02\/image-12.png\" alt=\"The import type dropdown showing the Tickets option, which only appears when WooCommerce is active\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field Name<\/th><th>Example Data<\/th><th>Field Type<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td>Event Name, ID, or Slug<\/td><td>NYPL Author Series: Shane Pearlman<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Ticket Name<\/td><td>General Seating<\/td><td>String<\/td><td><\/td><\/tr><tr><td>Ticket Description<\/td><td>Ticket for a seat in the Peifer Auditorium.<\/td><td>HTML<\/td><td><\/td><\/tr><tr><td>Ticket Start Sale Date<\/td><td>2016-12-01<\/td><td>Date<\/td><td><code>YYYY-MM-DD<\/code> recommended.<\/td><\/tr><tr><td>Ticket Start Sale Time<\/td><td>14:30:00<\/td><td>Time<\/td><td><\/td><\/tr><tr><td>Ticket End Sale Date<\/td><td>2016-12-15<\/td><td>Date<\/td><td><code>YYYY-MM-DD<\/code> recommended.<\/td><\/tr><tr><td>Ticket End Sale Time<\/td><td>21:30:00<\/td><td>Time<\/td><td><\/td><\/tr><tr><td>Ticket Price<\/td><td>$25.00<\/td><td>String<\/td><td>An integer without the currency symbol is also acceptable.<\/td><\/tr><tr><td>Ticket Stock<\/td><td>450<\/td><td>Integer<\/td><td>CSV only accepts integers for ticket stock.<\/td><\/tr><tr><td>Ticket SKU<\/td><td>GEN-AD<\/td><td>String<\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>A separate example CSV file for WooCommerce Tickets is not available. Use the <a href=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2014\/09\/The-Events-Calendar-Sample-Data-RSVP1.csv\">RSVP example file<\/a> as a base and add the <strong>Ticket Price<\/strong> and\/or <strong>Ticket SKU<\/strong> columns as needed. When running the import, select <strong>Tickets<\/strong> (not RSVPs) from the content type dropdown. Make sure the <strong>Event Name<\/strong> field in your ticket CSV matches the <strong>Event Name<\/strong> in your events CSV exactly, or no tickets will be imported.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-additional-fields-ecp\">Additional Fields (ECP)<\/h3>\n\n\n\n<p>If you have <a href=\"https:\/\/theeventscalendar.com\/products\/events-calendar-pro\/\">Events Calendar Pro<\/a> and have created <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/k\/pro-additional-fields\/\">custom additional fields<\/a>, those fields will appear in the CSV importer as available columns to map. The column name to use in your CSV is the label you gave the field when you created it. The following field types are supported:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field Type<\/th><th>Example Data<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td>Text Field<\/td><td>I swear I had something for this.<\/td><td>String<\/td><\/tr><tr><td>Text Area Field<\/td><td>Do you want ants? \u2026because that&#8217;s how you get ants.<\/td><td>String<\/td><\/tr><tr><td>URL Field<\/td><td>http:\/\/www.example.com\/<\/td><td>URL<\/td><\/tr><tr><td>Radio Field<\/td><td>Read a book<\/td><td>Must be an exact case-sensitive match to an existing option name.<\/td><\/tr><tr><td>Checkboxes Field<\/td><td>Boop|Yup<\/td><td>Separate multiple selected options with a pipe <code>|<\/code> character.<\/td><\/tr><tr><td>Dropdown Field<\/td><td>Danger Zone!<\/td><td>Must be an exact case-sensitive match to an existing option name.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-field-type-glossary\">Field Type Glossary<\/h2>\n\n\n\n<p>The field type column in each table above uses the following definitions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HTML<\/strong> \u2014 Accepts HTML markup. Also runs through <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wpautop\"><code>wpautop()<\/code><\/a>, so two consecutive newlines are interpreted as a paragraph break, just as in the WordPress editor.<\/li>\n\n\n\n<li><strong>String<\/strong> \u2014 Accepts most text including numbers and special characters. Newlines are typically ignored.<\/li>\n\n\n\n<li><strong>Boolean<\/strong> \u2014 Accepts <code>true<\/code>\/<code>false<\/code>, <code>1<\/code>\/<code>0<\/code>, or <code>yes<\/code>\/<code>no<\/code>. Not case-sensitive. When left blank the default is applied, which is typically false.<\/li>\n\n\n\n<li><strong>Integer<\/strong> \u2014 Accepts whole numbers only.<\/li>\n\n\n\n<li><strong>Date<\/strong> \u2014 Accepts formatted dates. Use ISO 8601 <code>YYYY-MM-DD<\/code> (e.g. <code>2025-12-31<\/code>) for unambiguous results. For the North American <code>MM\/DD\/YYYY<\/code> format use slashes. For the international <code>DD-MM-YYYY<\/code> format use hyphens.<\/li>\n\n\n\n<li><strong>Time<\/strong> \u2014 Accepts formatted times in ISO 8601 <code>HH:MM:SS<\/code> format (e.g. <code>23:59:59<\/code>).<\/li>\n\n\n\n<li><strong>URL<\/strong> \u2014 Accepts full URLs including the protocol (e.g. <code>https:\/\/<\/code>).<\/li>\n\n\n\n<li><strong>Comma Separated<\/strong> \u2014 Accepts a comma-separated list of values. &#8220;Concert, Barbecue&#8221; is interpreted as two separate values: &#8220;Concert&#8221; and &#8220;Barbecue&#8221;. If you&#8217;re not exporting from Excel or a similar tool, make sure to properly escape fields containing commas so they aren&#8217;t treated as column separators.<\/li>\n\n\n\n<li><strong>Email Address<\/strong> \u2014 Accepts any string, but prefers a valid email address format.<\/li>\n\n\n\n<li><strong>Phone Number<\/strong> \u2014 For proper internationalization, include the full number with country code and leading <code>+<\/code> (e.g. <code>+1-800-867-5309<\/code>).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-advanced-importing-tickets-commerce-tickets-via-csv\">Advanced: Importing Tickets Commerce Tickets via CSV<\/h2>\n\n\n\n<p>Importing <strong>Tickets Commerce<\/strong> tickets using the built-in CSV import feature is not directly supported. With a few tweaks you can achieve this.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-requirements\">\ud83d\udccc Requirements<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>WooCommerce<\/strong> must be installed and activated temporarily for the import process to work.<\/li>\n\n\n\n<li>A custom snippet is required to map imported data correctly to Tickets Commerce.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-step-by-step-instructions\">\ud83d\udee0\ufe0f Step-by-Step Instructions<\/h4>\n\n\n\n<p><strong>1. Install and Activate WooCommerce<\/strong><\/p>\n\n\n\n<p>Even if you don&#8217;t plan to use WooCommerce long-term, it must be active during the import process.<\/p>\n\n\n\n<p><strong>2. Add the Custom Code Snippet<\/strong><\/p>\n\n\n\n<p>Add <a href=\"https:\/\/gist.github.com\/andrasguseo\/703720ca04ec593fd792210bd8a287d4\">this snippet<\/a> to your site using the <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/best-practices-for-implementing-custom-code-snippets\/\">Code Snippets<\/a> plugin (recommended) or by inserting it into your <code>functions.php<\/code> file.<\/p>\n\n\n\n<p>\u26a0\ufe0f <strong>Important:<\/strong> Always test changes on a <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/creating-and-using-a-wordpress-staging-site\/\">staging site<\/a> before applying them to a live environment.<\/p>\n\n\n\n<p><strong>3. Import Your CSV File<\/strong><\/p>\n\n\n\n<p>Follow the <a href=\"#h-importing-a-csv-file\">same steps shown above<\/a>.<\/p>\n\n\n\n<p><strong>4. Verify the Tickets<\/strong><\/p>\n\n\n\n<p>After importing, confirm that your tickets were successfully imported and are appearing as expected in your events.<\/p>\n\n\n\n<p><strong>5. Deactivate WooCommerce (If Not Needed)<\/strong><\/p>\n\n\n\n<p>Once you&#8217;ve confirmed the tickets are working correctly, you can deactivate and delete WooCommerce if you don&#8217;t need it for anything else.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-advanced-import-attendees\">Advanced: Import Attendees<\/h2>\n\n\n\n<p>To import tickets or RSVPs attendee from a CSV file, you need to have this free <a href=\"https:\/\/theeventscalendar.com\/extensions\/event-tickets-attendee-csv-importer\/\">Event Tickets Attendee CSV Importer Extension<\/a> installed first.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-creating-the-csv\">Creating the CSV<\/h4>\n\n\n\n<p>The first step is to create a CSV with the correct columns. The following data can be included when importing attendees:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>event_name <\/li>\n\n\n\n<li>ticket_name <\/li>\n\n\n\n<li>attendee_name <\/li>\n\n\n\n<li>attendee_email <\/li>\n\n\n\n<li>display_opt_in <\/li>\n\n\n\n<li>user_id<\/li>\n<\/ul>\n\n\n\n<p>If you are importing RSVP attendees, there can also be a column for <em>going<\/em>. Download a sample file <a href=\"https:\/\/images.theeventscalendar.com\/uploads\/2020\/06\/test-data-attendees.csv\">here<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-defining-the-target-ticket\">Defining the Target Ticket<\/h4>\n\n\n\n<p>The ticket_name column can accept either the ticket name or the ticket ID to match attendees with the correct ticket. If you prefer to use the ticket ID to specify which ticket each attendee should be assigned to, you can find the ticket ID on the <a href=\"https:\/\/theeventscalendar.com\/knowledgebase\/tickets-managing-your-orders-and-attendees\/\">Event\u2019s Attendees Page<\/a>. This ID is associated with the specific ticket within the event.<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"188\" class=\"wp-image-1962432\" style=\"width: 700px;\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/08\/KB-ticketid-1.png\" alt=\"\" srcset=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/08\/KB-ticketid-1.png 1168w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/08\/KB-ticketid-1-300x80.png 300w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/08\/KB-ticketid-1-1024x274.png 1024w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/08\/KB-ticketid-1-768x206.png 768w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n\n\n\n<p>For example, if the <strong>ticket ID is 482<\/strong> and the ticket name is \u201cMonday Show\u201d your CSV file should include this information as shown below:<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"123\" class=\"wp-image-1962431\" style=\"width: 700px;\" src=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/08\/kb-sample-csv.png\" alt=\"\" srcset=\"https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/08\/kb-sample-csv.png 920w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/08\/kb-sample-csv-300x53.png 300w, https:\/\/images.theeventscalendar.com\/kb\/uploads\/2024\/08\/kb-sample-csv-768x135.png 768w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-import-steps\">Import Steps<\/h4>\n\n\n\n<p>Once you have your CSV, follow these steps to start importing attendees.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>On your WordPress Admin, go to <strong>Events \u2192 Import<\/strong>, then select CSV as origin.<br><\/li>\n\n\n\n<li>Select the correct Ticket Type for your import here:<br><br>RSVP Attendees<br>Ticket Attendees (Tickets Commerce)<br>Ticket Attendees (WooCommerce)<br><\/li>\n\n\n\n<li>Upload the Attendee&#8217;s CSV file for the selected ticket type.<br><\/li>\n\n\n\n<li>Click the Preview button and if everything is correct in this window, click Import All or the desired row(s).<\/li>\n<\/ol>\n\n\n\n<p class=\"has-background\" style=\"background-color:var(--global-palette8)\"><strong>Note:<\/strong> Each of these Ticket Types processes differently. For example, if you want to import attendees from an RSVP ticket, you need to select the first option.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Events Calendar includes a CSV importer that lets you import events, venues, organizers, RSVPs, and tickets into your site&#8217;s calendar in bulk. The importer is part of the Event Aggregator plugin, but the CSV import tool itself is free and included when you install The Events Calendar \u2014 you don&#8217;t need an Event Aggregator&#8230;<\/p>\n","protected":false},"author":3,"featured_media":1955565,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_swpsp_post_exclude":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"ep_exclude_from_search":false,"footnotes":""},"categories":[126],"tags":[45],"stellar-product-taxonomy":[154],"class_list":["post-1896619","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-event-aggregator","tag-importing","stellar-product-taxonomy-event-aggregator"],"acf":[],"taxonomy_info":{"category":[{"value":126,"label":"Importing Events"}],"post_tag":[{"value":45,"label":"Importing"}],"stellar-product-taxonomy":[{"value":154,"label":"Event Aggregator"}]},"featured_image_src_large":["https:\/\/images.theeventscalendar.com\/kb\/uploads\/2023\/02\/social-share-1024x538.png",1024,538,true],"author_info":{"display_name":"Jaime Marchwinski","author_link":"https:\/\/theeventscalendar.com\/knowledgebase\/author\/jaimetri-be\/"},"comment_info":0,"category_info":[{"term_id":126,"name":"Importing Events","slug":"event-aggregator","term_group":0,"term_taxonomy_id":126,"taxonomy":"category","description":"","parent":61,"count":8,"filter":"raw","term_order":"0","cat_ID":126,"category_count":8,"category_description":"","cat_name":"Importing Events","category_nicename":"event-aggregator","category_parent":61}],"tag_info":[{"term_id":45,"name":"Importing","slug":"importing","term_group":0,"term_taxonomy_id":45,"taxonomy":"post_tag","description":"","parent":0,"count":14,"filter":"raw","term_order":"0"}],"_links":{"self":[{"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1896619","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=1896619"}],"version-history":[{"count":17,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1896619\/revisions"}],"predecessor-version":[{"id":1969663,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1896619\/revisions\/1969663"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/media\/1955565"}],"wp:attachment":[{"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=1896619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=1896619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=1896619"},{"taxonomy":"stellar-product-taxonomy","embeddable":true,"href":"https:\/\/theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/stellar-product-taxonomy?post=1896619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}