> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topsort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Campaign Migration

> Comprehensive migration guides for seamless platform transitions

export const ChangelogActions = () => {
  return <>
      <style>{`
        .changelog-actions {
          display: flex;
          justify-content: center;
          gap: 12px;
          margin-top: 2rem;
          padding-top: 1.5rem;
          border-top: 1px solid #e5e7eb;
        }
        
        [data-theme="dark"] .changelog-actions {
          border-top-color: #374151;
        }
        
        .changelog-btn {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          padding: 8px 16px;
          border-radius: 9999px;
          border: 1px solid #d1d5db;
          background: transparent;
          color: #6b7280;
          font-size: 14px;
          cursor: pointer;
          transition: all 0.2s ease;
        }
        
        .changelog-btn:hover {
          border-color: #9ca3af;
          background: #f9fafb;
        }
        
        [data-theme="dark"] .changelog-btn {
          border-color: #4b5563;
          color: #9ca3af;
        }
        
        [data-theme="dark"] .changelog-btn:hover {
          border-color: #6b7280;
          background: #1f2937;
        }
      `}</style>
      <div className="changelog-actions">
        <button className="changelog-btn" onClick={() => {
    const btn = event.target.closest("button");
    btn.innerHTML = "❤️ Like";
    btn.style.borderColor = "#ec4899";
  }}>
          🤍 Like
        </button>
        <button className="changelog-btn" onClick={() => {
    const btn = event.target.closest("button");
    navigator.clipboard.writeText(window.location.href);
    const originalContent = btn.innerHTML;
    btn.innerHTML = "✓ Copied";
    btn.style.borderColor = "#22c55e";
    btn.style.color = "#22c55e";
    setTimeout(() => {
      btn.innerHTML = originalContent;
      btn.style.borderColor = "";
      btn.style.color = "";
    }, 2000);
  }}>
          ↗ Share
        </button>
      </div>
    </>;
};

<div style={{ display: "flex", gap: "8px", flexWrap: "wrap", marginBottom: "16px" }}>
  <Badge color="gray" size="sm" icon="calendar">July 29, 2025</Badge>
  <Badge color="blue" size="sm" icon="rectangle-ad">Ad Platform</Badge>
  <Badge color="green" size="sm" icon="sparkles">New Feature</Badge>
</div>

<Note>
  **Why It's Important**

  Transitioning to a new ad platform shouldn't mean starting from scratch. Our new campaign migration documentation provides clients with clear pathways to transfer both their existing campaign structures and historical performance data, ensuring business continuity and accelerating time-to-optimization on Topsort.
</Note>

## What's New

We've added campaign migration documentation to help clients seamlessly transition from their current ad platforms to Topsort. This includes two complementary migration approaches:

* **[Campaign Migration](/knowledge-base/ad-platform/campaign-migration/)**: Transfer campaign structures, settings, and configurations through automated CSV-based processing
* **[Historical Data Migration](/knowledge-base/ad-platform/campaign-migration/cold-start/)**: Import performance metrics to accelerate machine learning models and reduce cold start periods

## Campaign Migration Process

The documentation covers the complete migration lifecycle:

**Data Assessment and Planning**: Evaluate existing campaigns and develop migration strategy
**Export and Preparation**: Standardized CSV format requirements and data mapping
**Sample Testing**: Validate migration process with small campaign batches
**Full Migration**: Automated script-based processing with proper tracking
**Verification**: Quality assurance and go-live procedures

### Required Campaign Data

Essential fields include vendor IDs, campaign names, targeting settings, budget configurations, and product identifiers—all processed through our automated migration scripts.

## Historical Data Migration

For clients looking to minimize performance disruption:

**Performance Metrics Import**: Campaign performance, product-level data, and user behavior events
**Model Training Acceleration**: Use historical data to train machine learning algorithms before go-live
**Continuous Optimization**: Combine historical patterns with real-time data for optimal performance

### Success Metrics

* **Reduced Cold Start**: Learning time decreased from 4 weeks to 1-2 weeks
* **Performance Continuity**: Maintain campaign effectiveness within 10-15% of historical levels
* **Model Accuracy**: 20-30% improvement in prediction accuracy compared to cold start scenarios

## Risk Mitigation

The documentation includes comprehensive contingency planning:

* **Rollback Procedures**: Quick reversal capabilities with automated campaign removal
* **Backup Strategies**: Original data preservation throughout the process
* **Phased Approach**: Manageable batch processing for large migrations

<Aside type="tip">
  **Best Practice**: Complete campaign structure migration first, then run historical data migration in parallel during testing to deploy both simultaneously for optimal results.
</Aside>

## Getting Started

Clients interested in campaign migration can:

1. **Review the documentation** to understand requirements and process
2. **Contact their account manager** to discuss migration scope and timeline
3. **Assess current data availability** and export capabilities
4. **Plan migration phases** based on business priorities and technical requirements

<Aside type="caution">
  Ensure your product catalog is fully integrated and validated before beginning campaign migration to avoid data mapping issues.
</Aside>

## Questions?

Contact your account manager to discuss how campaign migration can ensure a smooth transition to Topsort while maintaining advertiser satisfaction and campaign performance.

<ChangelogActions />
