Home Services Blog → Adobe Analytics → Adobe Experience Platform → Adobe Target → AEM → Google Analytics 4 → Segment CDP About Contact
AEM

AEM Content Transfer Tool: A Simplified Guide

Migrating content to AEM as a Cloud Service? The Content Transfer Tool (CTT) is Adobe's official solution. Here's a practical guide covering inclusion sets, exclusion sets, and step-by-step migration.

AEM Content Transfer Tool - Cloud vs AMS Migration

What is the Content Transfer Tool?

The Content Transfer Tool (CTT) is Adobe's official tool for migrating content from AEM 6.3+ or Adobe Managed Services (AMS) to AEM as a Cloud Service. It handles the heavy lifting of moving your content repository—pages, assets, users, and more—to the cloud.

The tool works in two phases:

  1. Extraction — Pull content from your source AEM instance into a migration set
  2. Ingestion — Push that content into your AEM Cloud environment
When to Use CTT

CTT is designed for large content migrations (hundreds of GBs). For smaller migrations or selective content moves, consider using packages or the Remote Assets feature instead.

How Content Transfer Tool Works

Here's the simplified flow:

1. Install CTT on Source AEM

Download and install the Content Transfer Tool package on your source AEM instance (6.3+, 6.4, 6.5, or AMS).

2. Create a Migration Set

Define what content to migrate using inclusion and exclusion paths. This creates a "migration set" configuration.

3. Run Extraction

CTT extracts content from your source and uploads it to Adobe's cloud storage (Azure Blob). This can take hours for large repositories.

4. Run Ingestion

From Cloud Manager, trigger the ingestion to pull content from cloud storage into your AEM Cloud environment.

Inclusion Sets: What to Migrate

An Inclusion Set defines which content paths should be included in your migration. Only content under these paths will be extracted.

Common Inclusion Paths

Path What It Contains
/content/mysite Your site's pages and content
/content/dam/myassets Digital assets (images, PDFs, videos)
/content/experience-fragments Experience Fragments
/content/cq:tags Tag definitions
/home/users User accounts
/home/groups User groups

Example Inclusion Set

/content/we-retail
/content/dam/we-retail
/content/experience-fragments/we-retail
/content/cq:tags/we-retail
Tip: Be Specific

Include only what you need. Migrating /content/dam entirely might bring over temporary files, old versions, and unused assets. Be specific with your paths.

Exclusion Sets: What to Skip

An Exclusion Set defines paths that should NOT be migrated, even if they fall under an inclusion path. This is useful for filtering out unwanted content.

Common Exclusion Paths

Path Why Exclude It
/content/dam/temp Temporary upload files
/content/dam/projects In-progress project files
/content/mysite/test Test pages not needed in production
/var/audit Audit logs (regenerated in cloud)
/etc/packages Content packages (deployed via code)

Example Exclusion Set

/content/dam/we-retail/temp
/content/dam/we-retail/archive
/content/we-retail/test-pages
/content/we-retail/sandbox
Warning: System Paths

Certain paths are automatically excluded by CTT and cannot be migrated: /var, /tmp, /libs, /apps, /oak:index. These are managed by AEM Cloud's infrastructure.

Step-by-Step: Running a Migration

Prerequisites

  • AEM source instance: 6.3 SP3+, 6.4 SP2+, 6.5, or AMS
  • AEM Cloud environment provisioned in Cloud Manager
  • Admin access to both source and target
  • Sufficient disk space for extraction (1.5x your content size)

Step 1: Install the Content Transfer Tool

  1. Download CTT from the Software Distribution Portal
  2. Install the package on your source AEM Author instance
  3. Navigate to Tools → Cloud Services → Content Transfer

Step 2: Create a Migration Set

  1. Click "Create Migration Set"
  2. Enter a name (e.g., "we-retail-migration")
  3. Add your inclusion paths
  4. Add any exclusion paths
  5. Save the configuration
# Example Migration Set Configuration
Name: we-retail-production
Source: AEM 6.5.12

Inclusion Paths:
  - /content/we-retail
  - /content/dam/we-retail
  - /content/experience-fragments/we-retail
  
Exclusion Paths:
  - /content/dam/we-retail/temp
  - /content/we-retail/sandbox

Step 3: Run Extraction

  1. Select your migration set
  2. Click "Check Size" to estimate extraction time
  3. Click "Extract"
  4. Choose "Overwrite" (first time) or "Top-Up" (incremental)
  5. Wait for extraction to complete (monitor progress in the UI)
Extraction Time Estimates

50 GB: 2-4 hours
100 GB: 4-8 hours
500 GB: 24-48 hours
Large DAM repositories with many small files take longer than content-heavy sites.

Step 4: Run Ingestion

  1. Go to Cloud Manager → Environments
  2. Select your target environment (Dev, Stage, or Prod)
  3. Click "Content Transfer"
  4. Select your migration set
  5. Choose "Ingest"
  6. Select "Wipe" (replace all) or "Non-Wipe" (merge)

Step 5: Validate

  1. Access your AEM Cloud Author instance
  2. Verify content is present in Sites and Assets consoles
  3. Check that references and links are intact
  4. Test Experience Fragments and Content Fragments
  5. Validate user permissions if users were migrated

Top-Up Extraction: Incremental Updates

After your initial extraction, you can run Top-Up extractions to capture only the content that changed since the last extraction. This is useful for:

  • Keeping migration sets current during a long migration window
  • Capturing last-minute content changes before go-live
  • Reducing extraction time for subsequent runs

Top-Up only extracts content modified after the previous extraction timestamp, making it significantly faster than a full extraction.

Best Practices

Before Migration

  • Clean up your source — Delete unused assets, old versions, and test content
  • Run the Best Practices Analyzer — Identify compatibility issues before migrating
  • Document your content structure — Know exactly what paths contain what
  • Test with a subset first — Run a small migration to validate the process

During Migration

  • Freeze content authoring — Prevent changes to source during extraction
  • Monitor extraction progress — CTT provides real-time status updates
  • Use Top-Up for final sync — Capture any last-minute changes
  • Plan for downtime — Ingestion may require author instance restart

After Migration

  • Validate thoroughly — Spot-check content across different templates
  • Check broken references — Use the Link Checker to find issues
  • Republish content — Content may need republishing to Publish tier
  • Update external integrations — CDN, search indexes, third-party tools

Common Issues & Troubleshooting

Issue Solution
Extraction fails at XX% Check disk space on source. CTT needs 1.5x content size free.
Ingestion timeout Large migrations may need Adobe support to extend timeouts.
Missing assets after ingestion Verify inclusion paths. Check that /content/dam subpaths were included.
Broken references Ensure all referenced paths are included in the migration set.
User migration issues Users may need re-mapping if using different identity providers in cloud.
Slow extraction Reduce migration scope. Exclude large archives or unused assets.

Related Topics

AEM Content Transfer Tool CTT AEM migration inclusion set exclusion set AEM Cloud migration content extraction content ingestion AEM as a Cloud Service Adobe Experience Manager WegWorks AEM consulting cloud migration DAM migration

Need Help with AEM Migration?

Our team has migrated enterprise AEM implementations to the cloud. We can help plan your inclusion/exclusion sets and ensure a smooth migration.

Get Migration Support