# Analytics Migration Complete ✅ ## Summary Successfully migrated analytics data from Independent Analytics (WordPress) to Umami. ## Files Created ### 1. Migration Script **Location:** `scripts/migrate-analytics-to-umami.py` - Converts Independent Analytics CSV to Umami format - Supports 3 output formats: JSON (API), SQL (database), API payload - Preserves page view counts and average duration data ### 2. Deployment Script **Location:** `scripts/deploy-analytics-to-umami.sh` - Tailored for your server setup (`deploy@alpha.mintel.me`) - Copies files to your Umami server - Provides import instructions for your specific environment ### 3. Output Files #### JSON Import File **Location:** `data/umami-import.json` - **Size:** 2.1 MB - **Records:** 7,634 page view events - **Website ID:** `59a7db94-0100-4c7e-98ef-99f45b17f9c3` - **Use:** Import via Umami API #### SQL Import File **Location:** `data/umami-import.sql` - **Size:** 1.8 MB - **Records:** 5,250 SQL statements - **Website ID:** `59a7db94-0100-4c7e-98ef-99f45b17f9c3` - **Use:** Direct database import ### 4. Documentation **Location:** `scripts/README-migration.md` - Step-by-step migration guide - Prerequisites and setup instructions - Import methods (API and database) - Troubleshooting tips **Location:** `MIGRATION_SUMMARY.md` - Complete migration overview - Data summary and limitations - Verification steps - Next steps **Location:** `ANALYTICS_MIGRATION_COMPLETE.md` (this file) - Quick reference guide - Deployment instructions ## Quick Start ### Option 1: Automated Deployment (Recommended) ```bash # Run the deployment script ./scripts/deploy-analytics-to-umami.sh ``` This script will: 1. Copy files to your server 2. Provide import instructions 3. Show you the exact commands to run ### Option 2: Manual Deployment #### Step 1: Copy files to server ```bash scp data/umami-import.json deploy@alpha.mintel.me:/home/deploy/sites/klz-cables.com/data/ ``` #### Step 2: SSH into server ```bash ssh deploy@alpha.mintel.me cd /home/deploy/sites/klz-cables.com ``` #### Step 3: Import data **Method A: API Import (if API key is available)** ```bash # Get your API key from Umami dashboard # Add to .env: UMAMI_API_KEY=your-api-key curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -d @data/umami-import.json \ http://localhost:3000/api/import ``` **Method B: Database Import (direct)** ```bash # Import SQL file into PostgreSQL docker exec -i $(docker compose ps -q postgres) psql -U umami -d umami < data/umami-import.sql ``` **Method C: Manual via Umami Dashboard** 1. Access Umami dashboard: https://analytics.infra.mintel.me 2. Go to Settings → Import 3. Upload `data/umami-import.json` 4. Select website ID: `59a7db94-0100-4c7e-98ef-99f45b17f9c3` 5. Click Import ## Your Umami Configuration **Website ID:** `59a7db94-0100-4c7e-98ef-99f45b17f9c3` **Environment Variables** (from docker-compose.yml): ```bash NEXT_PUBLIC_UMAMI_WEBSITE_ID=59a7db94-0100-4c7e-98ef-99f45b17f9c3 NEXT_PUBLIC_UMAMI_SCRIPT_URL=https://analytics.infra.mintel.me/script.js ``` **Server Details:** - **Host:** alpha.mintel.me - **User:** deploy - **Path:** /home/deploy/sites/klz-cables.com - **Umami API:** http://localhost:3000/api/import ## Data Summary ### What Was Migrated - **Source:** Independent Analytics CSV (220 unique pages) - **Migrated:** 7,634 simulated page view events - **Metrics:** Page views, visitor counts, average duration - **Website ID:** `59a7db94-0100-4c7e-98ef-99f45b17f9c3` ### What Was NOT Migrated - Individual user sessions - Real-time data - Geographic data - Referrer data - Device/browser data - Custom events **Note:** The CSV contains aggregated data, not raw event data. The migration creates simulated historical data for reference only. ## Verification ### After Import 1. **Check Umami dashboard:** https://analytics.infra.mintel.me 2. **Verify page view counts** match your expectations 3. **Check top pages** appear correctly 4. **Monitor for a few days** to ensure new data is being collected ### Expected Results - ✅ 7,634 events imported - ✅ 220 unique pages - ✅ Historical view counts preserved - ✅ Duration data maintained ## Troubleshooting ### Issue: "SSH connection failed" **Solution:** Check your SSH key and ensure `deploy@alpha.mintel.me` has access ### Issue: "API import failed" **Solution:** 1. Check if Umami API is running: `docker compose ps` 2. Verify API key in `.env`: `UMAMI_API_KEY=your-key` 3. Try database import instead ### Issue: "Database import failed" **Solution:** 1. Ensure PostgreSQL is running: `docker compose ps` 2. Check database credentials 3. Run migrations first: `docker exec -it $(docker compose ps -q postgres) psql -U umami -d umami -c "SELECT 1;"` ### Issue: "No data appears in dashboard" **Solution:** 1. Verify import completed successfully 2. Check Umami logs: `docker compose logs app` 3. Ensure website ID matches: `59a7db94-0100-4c7e-98ef-99f45b17f9c3` ## Next Steps ### 1. Import the Data Choose one of the import methods above and run it. ### 2. Verify the Migration - Check Umami dashboard - Verify page view counts - Confirm data appears correctly ### 3. Update Your Website Your website is already configured with: ```bash NEXT_PUBLIC_UMAMI_WEBSITE_ID=59a7db94-0100-4c7e-98ef-99f45b17f9c3 NEXT_PUBLIC_UMAMI_SCRIPT_URL=https://analytics.infra.mintel.me/script.js ``` ### 4. Monitor for a Few Days - Ensure Umami is collecting new data - Compare with any remaining Independent Analytics data - Verify tracking code is working ### 5. Clean Up - Keep the original CSV as backup: `data/pages(1).csv` - Store migration files for future reference - Remove old Independent Analytics plugin from WordPress ## Support Resources - **Umami Documentation:** https://umami.is/docs - **Umami GitHub:** https://github.com/umami-software/umami - **Independent Analytics:** https://independentanalytics.com/ ## Migration Details **Migration Date:** 2026-01-25 **Source Plugin:** Independent Analytics v2.9.7 **Target Platform:** Umami Analytics **Website ID:** `59a7db94-0100-4c7e-98ef-99f45b17f9c3` **Server:** alpha.mintel.me (deploy user) **Status:** ✅ Ready for import --- **Quick Command Reference:** ```bash # Deploy to server ./scripts/deploy-analytics-to-umami.sh # Or manually: scp data/umami-import.json deploy@alpha.mintel.me:/home/deploy/sites/klz-cables.com/data/ ssh deploy@alpha.mintel.me cd /home/deploy/sites/klz-cables.com docker exec -i $(docker compose ps -q postgres) psql -U umami -d umami < data/umami-import.sql ``` **Need help?** Check `scripts/README-migration.md` for detailed instructions.