Take the community feedback survey now.

Quan Mai
Aug 28, 2019
  2048
(2 votes)

Sharing your campaigns and promotions

Sometimes you need to share campaigns AND/or promotions to your colleagues or to Episerver Developer support service. The simplest way is to take screenshot of your promotion settings and let the receiver replicate that on their site. The "nuke" option is to send your entire site, including the sites and databases so they can set up the site themselves. Both are not perfect: The former will have more chances of error, and will be very tedious if you have a complex setting, OR multiple promotions. The latter is, well, too much work for both sides (not the mention the hassle of security and GDPR).

Is there a better, simpler way? Yes, there is.

The campaigns and promotions, in their true nature, are just CMS content. So you can just export and import them just like any other content.

To share your campaigns and promotions, just go your Admin view, Tools, Export data. Then select Export content items.

You can choose either Campaigns (which mean all campaigns and promotions), a specific campaign (with its promotions), or a specific promotion.

Then click Export to get a .episerverdata file contains your campaigns/promotions, which you can share to your colleagues or customers/partners.

They then can import your file into their site. An important note: they would have to import the file to the correct parent content. 

  • If you exported all campaigns, then it has to be imported to Root
  • If you exported a specific campaign, then it has to be imported to Campaigns
  • If you exported a specific promotion, then it has to be imported to a campaign (they would have to create one if none exists)

This is because of strict structure of promotional content, all campaigns has to belong to the campaign root (which is a child of Root page itself), and all promotions has to be long to one (and only one) campaign.

Voila, if you have 100 promotions to share, this can be done in just minutes!

A few notes:

  • This only "transfers" data. If you have custom promotion content types/promotion processors, those have to be shared as well.
  • If you have shipping promotions AND the shipping methods were created, either manually or by programatically, i.e. their data are not "synced" between environment, then the selected shipping methods will be lost. This is because the shipping method id (which is a guid) was randomly generated, and in new environment, the site can't match a selected shipping method with the ones currently available.  
Aug 28, 2019

Comments

Aug 30, 2019 03:08 AM

Nice one, experience gained! 

Please login to comment.
Latest blogs
Building Optimizely OCP Apps Faster with AI and Coding Assistants

Developing Optimizely Connect Platform (OCP) apps can be a rewarding but complex process—especially when integrating with external APIs. Over the...

Pawel Zieba | Sep 11, 2025

New Opal Certifications Are Live and Free!

We’ve got some exciting news to share: two brand-new Opal certifications are now available and they’re completely free. Whether you’re already...

Satata Satez | Sep 10, 2025

Going Headless: On-Page Editing with Optimizely Graph and Next.js

Introduction On-page editing is one of the standout features of Optimizely CMS, giving editors the power to update content directly on the site as...

Michał Mitas | Sep 10, 2025

Dynamic CSP Management for Headless and Hybrid Optimizely CMS with Next.js

In the evolving realm of web security, Content Security Policy (CSP) is essential for defending against XSS and injection attacks. Traditional...

Minesh Shah (Netcel) | Sep 8, 2025