signal observability · fraud detection · performance advisory

AdBooster

Drop in CSV exports from your ad platforms and see what really happened — side by side, on one dashboard.

Import your data

Each platform lets you download a CSV of its data. Pick a source below, follow the steps to grab the export, then drop the file here. No OAuth, no credentials stored.

G4
Google Analytics 4
source: ga4
How to get the CSV
  1. Open GA4 → Explore → "Free form" template.
  2. Add dimensions: Event name, Page path and screen class, Date hour.
  3. Add metric: Event count.
  4. Top right → Share this explorationDownload file → CSV.
Upload

.csv only · max 10 MB · up to 50,000 events per upload

Ads
Google Ads
source: google_ads
How to get the CSV
  1. Open Google Ads → Reports → "Predefined reports" → "Campaign" → "Campaign performance".
  2. Set the date range you want (the importer respects whatever range the CSV contains).
  3. Make sure columns include: Campaign, Date, Clicks, Conversions, Cost.
  4. Top right → Download → CSV.
Upload

.csv only · max 10 MB · clicks + conversions are ingested per row

SAF
SpiderAF
source: spideraf
How to get the CSV
  1. Open SpiderAF dashboard → "Click Fraud" or "Invalid Traffic" report for the linked Ads account.
  2. Pick the date range and let the report load.
  3. Top right → Export → CSV.
  4. Columns expected: date, clicks, fraud_clicks (or invalid_clicks), optional gclid.
Upload

.csv only · max 10 MB · fraud clicks marked in event properties

GTM
Google Tag Manager
source: gtm
How GTM ingestion works

GTM doesn't export events to CSV — it fires tags. Instead, paste a custom HTML tag in your container that calls our ingest endpoint in real time.

Hit GET /api/v1/sites/<site_id>/gtm-snippet on this server to get the exact tag code and installation steps for your site.

Quick command
curl https://adbooster.pedroganco.com/api/v1/sites/00000000-0000-0000-0000-000000000001/gtm-snippet

Returns the custom HTML tag to paste into GTM, plus the trigger setup.

JS
AdBooster Tracker
source: tracker
First-party JS snippet

Paste this in the <head> of the site you want to measure. Events stream in live — no upload, no CSV.

Snippet
<script>
  window.adbooster = {
    site_id: "00000000-0000-0000-0000-000000000001",
    endpoint: "https://adbooster.pedroganco.com"
  };
</script>
<script async src="https://adbooster.pedroganco.com/api/v1/tracker.js"></script>
Why this is safe to leave open: Uploads are capped at 10 MB and 50,000 events per request, with a sliding 5-uploads-per-minute rate limit per IP. Only .csv files with a CSV content-type are accepted; uploaded files are parsed, ingested into the events table, and the temporary file is discarded. CSRF tokens guard against cross-site form submission. All cell values are escaped on render — no uploaded data is ever evaluated as code.