Rollin Logo
How to Build a Global Brand with Optimizely CMS: A Developer's Guide

How to Build a Global Brand with Optimizely CMS: A Developer's Guide

Valerie Gaudette
Valerie Gaudette
2025-06-22
Managing multiple brands across different countries sounds straightforward until you actually try it. Ask any developer who's worked on international projects—you'll quickly discover the headaches of maintaining brand consistency while meeting local regulations, managing multiple languages, and keeping everything technically sound.

Perpetual Limited, an Australian financial services company, faced exactly these challenges as they expanded internationally. Instead of juggling multiple platforms and drowning in technical debt, they built their global digital presence on Optimizely CMS. Here's what they learned and how you can apply their approach to your own projects.

The Real Challenge of Global Brand Management

When you're building for a global audience, you're not just scaling up—you're dealing with completely different problems:

  • Brand consistency across regions while allowing local customization
  • Regulatory compliance that varies by country (especially in financial services)
  • Content localization beyond simple translation
  • Performance optimization for users worldwide
  • Team coordination across time zones and departments

Traditional approaches often mean multiple WordPress sites, separate CMSs for different regions, or custom-built systems that become maintenance nightmares. Perpetual chose a different path.

Why Optimizely CMS Works for Global Brands

Optimizely CMS (the platform formerly known as Episerver) is designed specifically for enterprise-level, multi-brand operations. Here's what makes it different:

Single Platform, Multiple Brands: You can run dozens of websites from one CMS instance while keeping each brand distinct.

Built-in Localization: Translation management, region-specific content, and currency handling are included, not bolted on later.

Compliance Tools: Automated workflows ensure content meets local regulations before going live.

Developer-Friendly: It's built on .NET, so if you're already working in that ecosystem, integration is straightforward.

Perpetual's Implementation Strategy

Here's how Perpetual approached their global CMS implementation:

1. Platform Consolidation

Instead of managing separate systems for each region, they moved everything to a single Optimizely instance. This meant:

// Multi-site configuration for different regions
services.Configure(options =>
{
    options.Sites.Add(new SiteDefinition
    {
        Name = "Perpetual Australia",
        SiteUrl = new Uri("https://www.perpetual.com.au/"),
        Culture = new CultureInfo("en-AU"),
        Hosts = new List
        {
            new HostDefinition { Name = "perpetual.com.au", Type = HostDefinitionType.Primary }
        }
    });
    
    options.Sites.Add(new SiteDefinition
    {
        Name = "Perpetual UK", 
        SiteUrl = new Uri("https://www.perpetual.co.uk/"),
        Culture = new CultureInfo("en-GB"),
        Hosts = new List
        {
            new HostDefinition { Name = "perpetual.co.uk", Type = HostDefinitionType.Primary }
        }
    });
});

2. Shared Asset Management

They created a global asset library that each region could access:

[ContentType(DisplayName = "Global Asset Folder")]
public class GlobalAssetFolder : ContentFolder
{
    [Display(Name = "Asset Category")]
    [SelectOne(SelectionFactoryType = typeof(AssetCategorySelectionFactory))]
    public virtual string AssetCategory { get; set; }
    
    [Display(Name = "Usage Rights")]
    public virtual string UsageRights { get; set; }
}

This ensures brand consistency while allowing regional customization.

3. Regulatory Compliance Workflows

For financial services, content approval is critical. They built automated workflows:

[Component]
public class ComplianceWorkflow : IContentSecurityProvider
{
    public AccessLevel GetAccess(IContent content, IPrincipal principal)
    {
        var contentData = content as ILocalizable;
        if (contentData?.Language.Name == "en-AU")
        {
            // Australian content requires ASIC compliance review
            return RequireApproval(content, "ASICCompliance");
        }
        
        return AccessLevel.Read | AccessLevel.Create | AccessLevel.Edit;
    }
}

4. Performance Optimization

Global performance matters. They used Optimizely's CDN and implemented smart caching:

[ServiceConfiguration(typeof(IOutputCacheKeyProvider))]
public class GlobalCacheKeyProvider : IOutputCacheKeyProvider
{
    public string GetCacheKey(ControllerContext context)
    {
        var culture = ContentLanguage.PreferredCulture.Name;
        var region = GetRegionFromRequest(context.HttpContext.Request);
        
        return $"page_{context.RouteData.Values["id"]}_{culture}_{region}";
    }
}

Setting Up Multi-Region Content Management

Here's a practical approach to implementing multi-region content management:

Step 1: Configure Regional Sites

Start by defining your sites and their specific requirements:

public class RegionalSiteConfiguration
{
    public string SiteName { get; set; }
    public string BaseUrl { get; set; }
    public CultureInfo Culture { get; set; }
    public List RequiredCompliance { get; set; }
    public Dictionary LocalSettings { get; set; }
}

Step 2: Create Shared Content Types

Build content types that work across regions but allow customization:

[ContentType(DisplayName = "Global Product Page")]
public class GlobalProductPage : PageData
{
    [Display(Name = "Product Name", GroupName = SystemTabNames.Content)]
    public virtual string ProductName { get; set; }
    
    [Display(Name = "Regional Disclaimers", GroupName = "Legal")]
    public virtual ContentArea RegionalDisclaimers { get; set; }
    
    [Display(Name = "Local Pricing", GroupName = "Regional")]
    public virtual decimal? LocalPrice { get; set; }
}

Step 3: Implement Localization Logic

Handle region-specific content display:

public class RegionalContentHelper
{
    public static string GetLocalizedDisclaimer(string region)
    {
        var disclaimers = new Dictionary
        {
            ["AU"] = "This information is approved by ASIC.",
            ["UK"] = "This service is regulated by the FCA.",
            ["US"] = "Securities offered through registered broker-dealer."
        };
        
        return disclaimers.GetValueOrDefault(region, "");
    }
}

Common Pitfalls and How to Avoid Them

URL Structure Problems: Don't use subdirectories for regions if you can avoid it. Separate domains or subdomains work better for SEO and user clarity.

Over-Customization: Start with shared templates and only create region-specific versions when absolutely necessary.

Performance Issues: Remember that global sites serve users worldwide. Use CDNs and implement proper caching strategies from day one.

Content Governance: Establish clear rules about what content can be localized and what must remain consistent globally.

Testing Complications: Set up automated testing that covers different regions and languages, not just your primary market.

Practical Benefits You'll See

Based on Perpetual's experience, here's what you can expect:

Faster Site Launches: New regions or acquisitions can be onboarded in weeks, not months.

Consistent User Experience: Users get the same quality experience regardless of their location.

Easier Maintenance: One platform to update, secure, and maintain instead of multiple systems.

Better Analytics: Unified reporting across all regions gives you better insights into global performance.

Cost Reduction: Lower hosting, licensing, and maintenance costs compared to multiple platforms.

Getting Started with Your Implementation

  • Audit Your Current Setup: Document all existing sites, their technologies, and specific regional requirements.
  • Plan Your Information Architecture: Design a structure that accommodates all regions while maintaining flexibility.
  • Set Up a Development Environment: Create a sandbox with multi-site configuration to test your approach.
  • Build Core Templates: Start with shared templates that work across regions, then customize as needed.
  • Configure Compliance Workflows: Implement approval processes before you migrate content.
  • Test Extensively: Verify that localization, performance, and compliance features work correctly.
  • Train Your Teams: Make sure content creators and editors understand the new workflows.

Next Steps

Building a global brand presence doesn't have to mean managing dozens of separate systems. Perpetual's approach with Optimizely CMS shows how a single, well-configured platform can handle the complexity while keeping your development team sane.

If you're currently struggling with multiple CMSs, inconsistent brand experiences, or the complexity of global content management, consider consolidating to a platform designed for these challenges. Your developers, content creators, and users will thank you.

Start small—pick one region to migrate first, test your approach thoroughly, then scale to additional markets. The initial setup takes time, but the long-term benefits of a unified global platform make it worthwhile.

Share this article

Ready to start
your project?

Our development team is ready to transform your vision into reality and bring your next innovation to life.