Create A/B test campaigns

To create an AB campaign, you must use the NewslattersManager class. The following code creates an AB campaign through the Native API.

C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Sitefinity.Modules.Newsletters;
using Telerik.Sitefinity.Newsletters.Model;

namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.EmailCampaigns
{
    public partial class EmailCampaignsSnippets
    {
        public void CreateABCampaign(Guid id, CampaignWinningCondition winningCondition, DateTime endDate, Campaign campaignA, Campaign campaignB, int testSamplePercentage)
        {
            NewslettersManager manager = NewslettersManager.GetManager();
            var abCampaign = manager.GetABCampaigns().Where(c => c.Id == id).SingleOrDefault();

            if (abCampaign == null)
            {
                abCampaign = manager.CreateABCampaign();

                abCampaign.CampaignA = campaignA;
                abCampaign.CampaignB = campaignB;
                abCampaign.WinningCondition = winningCondition;
                abCampaign.TestingEnds = endDate;
                abCampaign.TestingSamplePercentage = testSamplePercentage;

                manager.SaveChanges();
            }
        }
    }
}

First, you initialize the NewslettersManager. Then, you call CreateABCampaign to create the campaign. Finally, after all properties are set, you save the changes.

NOTE: Campaign B must share the same mailing list as the selected campaign A.

NOTE: For more information about creating the A and B campaigns, see Create campaigns.

Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.
New to Sitefinity?