@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
277 lines • 11.2 kB
JavaScript
/**
* Complete Personalization Campaign Example
* Sourced from Orchestration Bible v2.0
*/
export const personalizationCampaignComplete = {
id: 'tpl_vip_personalization_campaign',
name: 'VIP Customer Personalization Campaign',
description: 'Complete personalization campaign with desktop & mobile VIP experiences',
version: '1.0.0',
type: 'user',
platform: 'web',
author: 'orchestration.bible@optimizely.com',
template_format_version: 2,
parameters: {
project_id: {
type: 'string',
required: true,
description: 'Web Experimentation project ID'
},
campaign_name: {
type: 'string',
required: true,
description: 'Base name for the campaign',
default: 'VIP Customer Experience'
},
vip_cookie_name: {
type: 'string',
required: false,
default: 'vip_customer',
description: 'Cookie that identifies VIP customers'
},
homepage_url: {
type: 'string',
required: false,
default: 'https://www.example.com',
description: 'Homepage URL for targeting'
}
},
steps: [
// Step 1: Create the campaign container
{
id: 'create_campaign',
type: 'template',
name: 'Create VIP Personalization Campaign',
template: {
entity_type: 'campaign',
mode: 'template',
operation: 'create',
template_data: {
project_id: '${project_id}',
name: '${campaign_name}',
type: 'personalization',
holdback: 500,
status: 'active'
}
}
},
// Step 2: Create VIP page targeting
{
id: 'create_vip_page',
type: 'template',
name: 'Create VIP Landing Page',
template: {
entity_type: 'page',
mode: 'template',
operation: 'create',
template_data: {
project_id: '${project_id}',
name: '${campaign_name} Landing Page',
key: 'vip_landing_page',
edit_url: '${homepage_url}',
conditions: [
{
match_type: 'substring',
value: '${homepage_url}'
}
],
activation_type: 'immediate'
}
}
},
// Step 3: Create VIP customer audience (desktop)
{
id: 'create_vip_audience',
type: 'template',
name: 'Create VIP Desktop Audience',
template: {
entity_type: 'audience',
mode: 'template',
operation: 'create',
template_data: {
project_id: '${project_id}',
name: '${campaign_name} Desktop VIPs',
key: 'vip_desktop_audience',
conditions: {
and: [
{
type: 'cookie',
name: '${vip_cookie_name}',
match_type: 'exact',
value: 'true'
},
{
type: 'device',
value: 'desktop'
}
]
}
}
}
},
// Step 4: Create mobile VIP audience
{
id: 'create_mobile_audience',
type: 'template',
name: 'Create VIP Mobile Audience',
template: {
entity_type: 'audience',
mode: 'template',
operation: 'create',
template_data: {
project_id: '${project_id}',
name: '${campaign_name} Mobile VIPs',
key: 'vip_mobile_audience',
conditions: {
and: [
{
type: 'cookie',
name: '${vip_cookie_name}',
match_type: 'exact',
value: 'true'
},
{
type: 'device',
value: 'mobile'
}
]
}
}
}
},
// Step 5: Create conversion event
{
id: 'create_conversion_event',
type: 'template',
name: 'Create Add to Cart Event',
template: {
entity_type: 'event',
mode: 'template',
operation: 'create',
template_data: {
project_id: '${project_id}',
name: '${campaign_name} Add to Cart',
key: 'vip_add_to_cart',
event_type: 'custom',
category: 'add_to_cart'
}
}
},
// Step 6: Create VIP desktop experience
{
id: 'create_vip_desktop_experiment',
type: 'template',
name: 'Create VIP Desktop Experience',
template: {
entity_type: 'experiment',
mode: 'template',
operation: 'create',
template_data: {
project_id: '${project_id}',
name: '${campaign_name} VIP Desktop',
campaign_id: '${create_campaign.entity_id}',
page_ids: ['${create_vip_page.entity_id}'],
audience: {
ref: {
id: '${create_vip_audience.entity_id}'
}
},
metrics: [
{
event_id: '${create_conversion_event.entity_id}',
scope: 'visitor',
winning_direction: 'increasing'
}
],
variations: [
{
name: 'VIP Desktop Experience',
weight: 10000,
actions: [
{
page_id: '${create_vip_page.entity_id}',
changes: [
{
type: 'custom_code',
value: "// VIP Desktop Experience\\ndocument.querySelector('.header').style.background = 'linear-gradient(90deg, #FFD700, #FFA500)';\\ndocument.querySelector('.hero h1').innerText = 'Welcome Back, VIP Customer!';\\n// Add VIP badge\\nconst vipBadge = document.createElement('div');\\nvipBadge.className = 'vip-badge';\\nvipBadge.innerHTML = '<span>⭐ VIP Member</span>';\\nvipBadge.style.cssText = 'position: fixed; top: 20px; right: 20px; background: gold; padding: 10px 20px; border-radius: 20px; font-weight: bold; z-index: 9999;';\\ndocument.body.appendChild(vipBadge);"
}
]
}
]
}
],
status: 'active'
}
},
depends_on: ['create_campaign', 'create_vip_page', 'create_vip_audience', 'create_conversion_event']
},
// Step 7: Create VIP mobile experience
{
id: 'create_vip_mobile_experiment',
type: 'template',
name: 'Create VIP Mobile Experience',
template: {
entity_type: 'experiment',
mode: 'template',
operation: 'create',
template_data: {
project_id: '${project_id}',
name: '${campaign_name} VIP Mobile',
campaign_id: '${create_campaign.entity_id}',
page_ids: ['${create_vip_page.entity_id}'],
audience: {
ref: {
id: '${create_mobile_audience.entity_id}'
}
},
metrics: [
{
event_id: '${create_conversion_event.entity_id}',
scope: 'visitor',
winning_direction: 'increasing'
}
],
variations: [
{
name: 'VIP Mobile Experience',
weight: 10000,
actions: [
{
page_id: '${create_vip_page.entity_id}',
changes: [
{
type: 'custom_code',
value: "// VIP Mobile Experience\\ndocument.querySelector('.mobile-nav').style.display = 'block';\\ndocument.querySelector('.hero').style.fontSize = '1.2em';\\n// Add mobile VIP banner\\nconst vipBanner = document.createElement('div');\\nvipBanner.className = 'vip-mobile-banner';\\nvipBanner.innerHTML = '<span>⭐ VIP Member Benefits Active</span>';\\nvipBanner.style.cssText = 'background: linear-gradient(90deg, #FFD700, #FFA500); padding: 10px; text-align: center; font-weight: bold;';\\ndocument.body.insertBefore(vipBanner, document.body.firstChild);"
}
]
}
]
}
],
status: 'active'
}
},
depends_on: ['create_campaign', 'create_vip_page', 'create_mobile_audience', 'create_conversion_event']
}
],
outputs: {
campaign_id: {
value: '${create_campaign.entity_id}',
description: 'Created campaign ID'
},
desktop_experiment_id: {
value: '${create_vip_desktop_experiment.entity_id}',
description: 'Desktop VIP experiment ID'
},
mobile_experiment_id: {
value: '${create_vip_mobile_experiment.entity_id}',
description: 'Mobile VIP experiment ID'
}
},
config: {
max_execution_time: 300000,
parallel_execution: false,
rollback_on_failure: true
}
};
//# sourceMappingURL=PersonalizationCampaignExample.js.map