Data Transfer & Migration in The Events Calendar

event data transfer and migration
TL;DR · Quick Summary
  • Export, migrate, and import event data in The Events Calendar using iCal Export, WP All Import, and Event Aggregator.
  • Advanced iCal Export V2 helps you export selected events to calendar applications using customizable iCal feeds.
  • WP All Import Addon for The Events Calendar helps you migrate event data, including venues, organizers, tickets, and attendees, between WordPress websites.
  • Event Aggregator: Additional Options gives you more control over imported events, including duplicates, formatting, scheduling, and cleanup.

The Events Calendar makes it easy to create and manage an event website. As your website grows, you collect hundreds or even thousands of events, along with related data such as venues, organizers, tickets, and attendees.

Eventually, you may need to move this data to another website, share selected events with external calendars, or regularly import events from other platforms.

For example, you may want to:

  • Move hundreds of events from one WordPress website to another.
  • Export only events from a specific year, date range, or category.
  • Import events from Google Calendar, Eventbrite, Meetup, or another calendar feed.
  • Control how imported events are handled and maintained on your website.

Manually recreating this data is time-consuming and increases the chances of missing important information.

Fortunately, The Events Calendar ecosystem provides extensions and integrations that can help you handle these different data-transfer requirements.

In this guide, we’ll look at three solutions and explain when to use each one:

  • Advanced iCal Export V2: Create customized iCal feeds to export selected events.
  • WP All Import Addon for The Events Calendar: Migrate event data between WordPress websites.
  • Event Aggregator: Additional Options: Get more control over events imported through Event Aggregator.

Advanced iCal Export V2

If you simply want to share or export your events to another calendar application, you don’t necessarily need to migrate your entire WordPress event database.

The Events Calendar already provides a built-in event export system that allows events to be exported in ICS format. Visitors can download these files and add the events to their personal calendar applications.

However, the default export provides limited control over which events are included. For example, you may want to export only events from a particular year, category, date range, or a specific number of events.

This is where Advanced iCal Export V2 becomes useful.

It allows you to add custom parameters to your iCal URLs so you can create more targeted event feeds based on your requirements.

You can customize your export using parameters such as:

  • Custom date range
  • Specific year
  • Number of events
  • Categories

You can then create custom iCal URLs and add them to a button or text link on your website.

How to Create a Custom iCal Feed

Advanced iCal Export V2 allows you to add custom parameters directly to your The Events Calendar List View URL. The extension is designed to work with the List View.

list view url

The available parameters include:

  • ical=1 – generates an iCal feed.
  • custom=1 – enables the custom iCal export.
  • start_date=[date] – sets the start date. Use the yyyy-mm-dd format.
  • end_date=[date] – sets the end date.
  • year=[year] – exports events from a specific year.
  • limit=[number] – sets the maximum number of events.
  • category=[category-slugs] – exports events from specific categories.

The ical=1 and custom=1 parameters are required. You can then add the other parameters based on what you want to export.

For example, to export up to 20 events from 2026, you can use:

/events/list/?ical=1&custom=1&year=2026&limit=20

custom ical url

You can combine the parameters to create feeds for different requirements, such as a specific category, year, date range, or event limit.

But what if you want to move your actual event data from one WordPress website to another?

An iCal feed is useful for sharing events with calendar applications, but a full website migration requires a different approach.

That’s where WP All Import and the WP All Import Addon for The Events Calendar come in.

WP All Import Addon For The Events Calendar

Managing event data across multiple WordPress websites becomes difficult when you need to move hundreds or thousands of events from one site to another. 

For example, you have an old event website containing 500 events, along with their venues and organizers. You are launching a new WordPress website and want to move this information without recreating every event manually.  

For this type of migration, you can use WP All Export to extract the data from your existing website and WP All Import to import it into the new website. 

The basic migration process involves three components: 

  • WP All Export – extracts data from the source website.
  • XML/CSV file – carries the exported data from one website to another.
  • WP All Import – imports the data into the destination website.

Why Do You Need the WP All Import Addon? 

WP All Import can import data into WordPress, but it does not natively understand the data structure used by The Events Calendar (TEC).  This means it cannot automatically handle or map all TEC-specific data, such as venues, organizers, tickets, attendees, and recurring events.

For example, an event may contain relationships between the event itself, its venue, organizer, tickets, and attendees. These relationships need to be mapped to the correct TEC fields during the import process; otherwise, your data could end up in the wrong places. 

To avoid this, you need an addon that ensures that your event data is handled and mapped correctly during the import: WP All Import Addon for The Events Calendar.

The addon extends WP All Import with support for The Events Calendar and provides the mapping and data handling required for TEC-specific content. This allows WP All Import to properly process event data and associate it with the appropriate TEC fields during migration. You can migrate the following data using this addon:

  • Venues
  • Organizers
  • Single events, including all-day and multi-day events
  • Recurring Events 
  • Event Series 
  • RSVPs and Attendees
  • Tickets Commerce: Tickets, Orders, and Attendees 

Without the addon, WP All Import can still be used for basic WordPress data. However, when your migration includes The Events Calendar-specific data and relationships, the addon provides the additional support required to map and import that data correctly. 

How the WP ALL Import Addon Migration Works 

The workflow is different when you migrate basic WordPress data with WP All Import alone compared with migrating The Events Calendar-specific data using the addon.

The following workflow shows how the event data moves from the source website to the destination website with and without the WP All Import Addon.

wp all addon workflow

For a complete migration, the plugins you need depend on the type of event data you want to transfer. 

If you need a detailed walkthrough of the migration process, you can follow the step-by-step migration guide referenced in the addon documentation.

Now, what if your events aren’t coming from another WordPress website at all?

If your events are managed on external calendars or event platforms, you need a different type of import workflow.

That’s where Event Aggregator comes in.

Event Aggregator: Additional Options

When you are managing your events through multiple sources and want to bring them under your WordPress event calendar, you can use the Event Aggregator extension for the integration. 

Event Aggregator supports different types of event sources such as iCalendar (.ics) files, Google Calendar, Eventbrite, Meetup, and Other URLs containing supported calendar feeds. 

With Event Aggregator, you can control import source, import type, import frequency, and more.

However, once you start running regular imports, you may need more control over what happens to imported events. For example, how duplicate or removed events are handled, how event descriptions are formatted, or how imported events are displayed. 

This is where Event Aggregator: Additional Options extends the default import functionality.  

The addon provides additional settings for: 

  • Global Import settings
  • Individual Import settings
  • Maintenance settings

Now, let’s understand these additional settings one by one:

Global Import Settings

Global import settings apply to all Event Aggregator imports. With these settings, you can control the general or default behaviour of your imported events. The addon checks the source during scheduled imports and handles events according to the option you select.

You can access these additional options by navigating to WordPress Dashboard> Events > Settings > Imports.

Here you will find the following additional options:

global settings
  • Delete Duplicate and Removed Events:  When an event is removed from the source or its unique identifier changes, your website may need to update the corresponding imported event:
    • Do not delete duplicate/removed events
    • Send duplicate/removed events to the trash
    • Permanently delete duplicate/removed events
  • Link Directly to the Source Website: With this setting, you can send visitors directly to the source website instead of sending them to the imported event’s page on your website using the following options:
    • Link to the default single event page
    • Link directly to the event website URL
  • Retain Line Breaks in Event Description: With this option, you can preserve the original formatting and make the imported description easier to read. Here you will find these options:
    • Remove all line breaks from event descriptions
    • Retain all line breaks within event descriptions
  • Block Editor Template: With this setting, you can choose a layout for your imported events. Here, you have the following options:
    • None: In this option, imported event content will be placed in the Event Details Classic block and displayed using the default layout. 
    • Simple: In this option, imported event content will be placed in the Block Editor Template, and you can customize the layout by using the tribe_ext_ea_additional_options_simple_template filter. 
    • Custom: In this option, you can create your own template with the block editor. To do this, create a draft event and use the `[tec_ea_content]` placeholder in a paragraph block. Once you save the draft, your custom option will be added to the dropdown.

[Note: This option works only for Google Calendar, iCalendar, Meetup, and ICS file import sources.]

block template
  • Once you are satisfied with all the changes, click Save changes. 

Global settings apply to all imports, but sometimes you need different settings for a specific import. 

Individual Import Settings

Individual import settings provide you with additional options that you can use to customize individual Event Aggregator imports. 

Note: You can access these settings after you preview an import for the first time. You can also access them later when you edit a scheduled import. 

individual import settings
  • Force Timezone: By default, imported events keep the timezone of their source. With Force Timezone, you can convert the date/time according to your requirements. 
  • Event Title Prefix: With this option, you can add text before the title of an imported event to differentiate it from other events. 
  • Event URL: With this option, you can add the same website URL to all imported events that belong to the same source. 
  • Purge Events: Delete upcoming events before running the next import. This option helps to prevent duplicate events. 

Maintenance Settings

Over time, your website may accumulate ignored imported events that are no longer needed.

The Maintenance Settings help you automatically clean up these events. You can access them from: Events > Settings > General > Maintenance.

maintenance settings

The following options are available under Maintenance settings:

  • Delete ignored events older than: With this option, you can choose when ignored events should be permanently deleted. 
  • Ignored events deleted in one run: With this option, you can set a number of ignored events that will be permanently deleted in one cron run. 
  • Cron schedule: With this option, you can choose how often the automatic cleanup of old events should run. Available options include hourly, twice a day, daily, and weekly.

Once you are satisfied with all the changes, click Save changes. 

Which Data Transfer Solution Should You Use?

The right solution depends on where your event data is coming from and what you want to do with it:

Your requirementRecommended solution
Export selected events to a calendar applicationAdvanced iCal Export V2
Move events from one WordPress website to anotherWP All Import Addon for The Events Calendar
Import events from external calendars or event platformsEvent Aggregator
Get more control over Event Aggregator importsEvent Aggregator: Additional Options

Conclusion

Moving and managing event data doesn’t always involve the same type of migration. By choosing the right tool for your specific data-transfer requirement, you can avoid manually recreating events and gain better control over how your event data is exported, migrated, and maintained.

Share This Post...
Table of Contents
Share This Post...