The Multi Site Tracker saves Belgian agencies from the tedium of manually sifting through dozens of analytics or CRM exports. Each website generates its own CSV or JSON file with click events, form submissions, and email links, but there’s no automated way to consolidate them. This leads to fragmented reporting, wasted time, and inconsistent insights—especially when managing multiple clients or domains.
The Manual Way (And Why It Breaks)
Manually combining click tracking data from different domains is a tedious process. You’ll need to open each CSV or JSON file separately, identify the relevant columns like timestamps, URLs, and event types, and then copy-paste them into one master file. For agencies managing even a handful of sites, this quickly becomes a bottleneck. You’re also left to manually detect phone clicks from tel: links or identify form submissions by matching form IDs—often with inconsistent naming across platforms. These tasks are not only time-consuming but also error-prone. The offline analytics workflow becomes even more difficult when trying to match mailto links or custom tracking parameters across sites. A Multi Site Tracker that automates this consolidation is a necessity for any serious agency.
The Python Approach
Here’s a small Python snippet that handles a simplified version of the consolidation step. It reads multiple CSV files and merges them with a site identifier column. This is just the foundation of what the full tool does, but it demonstrates the core idea.
import pandas as pd
from pathlib import Path
# Define input directory and output file
input_dir = Path('./exports')
output_file = 'consolidated_report.csv'
# Get all CSV files in the input directory
csv_files = input_dir.glob('*.csv')
# Create a list to store dataframes
dataframes = []
# Loop over each CSV file
for file in csv_files:
df = pd.read_csv(file)
df['site'] = file.name # Add site name column
dataframes.append(df)
# Concatenate all dataframes
merged_df = pd.concat(dataframes, ignore_index=True)
# Save consolidated report
merged_df.to_csv(output_file, index=False)
This code reads all CSV files in an input folder, adds a column indicating the source site, and merges everything into one file. It’s a basic consolidation tool, not a full-fledged click tracker, but it shows how Python can automate repetitive tasks. Limitations include no handling of form submissions or phone click detection, which the full Multi Site Tracker handles.
What the Full Tool Handles
- Automatically imports CSV, JSON, and Excel files from multiple sources, merging columns based on structure.
- Identifies phone click events from
tel:links or custom data attributes. - Tracks form submissions by matching form IDs or URL path patterns.
- Detects email click events from
mailto:links or custom tracking parameters. - Exports a final report with site name, event type, timestamp, and URL in a clean CSV format.
- Works entirely offline with exported data—no live APIs or OAuth needed.
Running It
To use the full Multi Site Tracker, run this command in your terminal:
python track_events.py --input ./exports/*.csv --output consolidated_report.csv
The --input flag accepts wildcards to include all files in a folder, and --output defines where the final report is saved. The tool will process all supported file types and generate a unified CSV with all events.
Get the Script
If you’re not interested in building your own, skip the code and go straight to the tool. The Multi Site Tracker automates everything from data ingestion to event detection and export.
Download Multi-Site Click & Form Tracker →
$29 one-time. No subscription. Works on Windows, Mac, and Linux.
Built by OddShop — Python automation tools for developers and businesses.