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:
- Extraction — Pull content from your source AEM instance into a migration set
- Ingestion — Push that content into your AEM Cloud environment
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
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
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
- Download CTT from the Software Distribution Portal
- Install the package on your source AEM Author instance
- Navigate to Tools → Cloud Services → Content Transfer
Step 2: Create a Migration Set
- Click "Create Migration Set"
- Enter a name (e.g., "we-retail-migration")
- Add your inclusion paths
- Add any exclusion paths
- 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
- Select your migration set
- Click "Check Size" to estimate extraction time
- Click "Extract"
- Choose "Overwrite" (first time) or "Top-Up" (incremental)
- Wait for extraction to complete (monitor progress in the UI)
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
- Go to Cloud Manager → Environments
- Select your target environment (Dev, Stage, or Prod)
- Click "Content Transfer"
- Select your migration set
- Choose "Ingest"
- Select "Wipe" (replace all) or "Non-Wipe" (merge)
Step 5: Validate
- Access your AEM Cloud Author instance
- Verify content is present in Sites and Assets consoles
- Check that references and links are intact
- Test Experience Fragments and Content Fragments
- 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
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