Files
klz-cables.com/ANALYTICS_MIGRATION_COMPLETE.md
Marc Mintel c2d6e082e8
All checks were successful
Build & Deploy KLZ Cables / deploy (push) Successful in 3m50s
umami migration
2026-01-25 11:23:34 +01:00

237 lines
6.5 KiB
Markdown

# 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.