Skip to main content

DNS Setup

To start receiving events in TraceLog, you need to add two DNS records to your domain. Both values are shown in your project's Tracking → DNS Setup page.

#TypeNameValuePurpose
1TXT_tracelog-verifytracelog-verify=<your-token>Domain ownership proof
2CNAME<your-project-id>mdw.tracelog.ioEvent ingest routing

The TXT record proves you own the domain. The CNAME routes analytics traffic through a subdomain on your own domain — this is what lets TraceLog bypass ad-blockers (first-party tracking).

info

Both records are required. Without the CNAME, no events will reach TraceLog even if domain verification succeeds.

⚠️ The Name field is relative

Most DNS panels (Shopify, Cloudflare, Route53, Namecheap, Google Cloud DNS) automatically add your domain to the Name field. Type the Name without your domain at the end.

Example
✅ Correct_tracelog-verify
❌ Incorrect_tracelog-verify.example.com

If you add the FQDN, the panel will create the record at _tracelog-verify.example.com.example.com — which TraceLog will not find.

The same rule applies to the CNAME: type the project ID alone (e.g. abc123def456ghij), not abc123def456ghij.example.com.


Step-by-step in your DNS panel

Shopify

  1. Open Settings → Domains, click your domain, then DNS settings.
  2. Click Add custom record.
  3. Select TXT:
    • Name: _tracelog-verify (without .your-domain.com)
    • Value: copy the value from TraceLog → Tracking → DNS Setup
  4. Click Save.
  5. Click Add custom record again, select CNAME:
    • Name: <your-project-id> (the 16-character string shown in TraceLog)
    • Target: mdw.tracelog.io
  6. Click Save.
  7. Wait 5–30 minutes, then go back to TraceLog → Tracking → click Check installation.
note

If your Shopify-bought domain delegates DNS to another provider (e.g. Google Cloud DNS), Shopify's DNS settings page will be read-only. Edit DNS in the provider that actually controls your nameservers — see Common mistakes.

Cloudflare

  1. Open the Cloudflare dashboard and select your domain.
  2. Go to DNS → Records.
  3. Click Add record:
    • Type: TXT
    • Name: _tracelog-verify (Cloudflare displays the full name as _tracelog-verify.your-domain.com after saving — that's normal)
    • Content: copy the value from TraceLog → Tracking → DNS Setup
    • TTL: Auto
  4. Click Save.
  5. Click Add record again:
    • Type: CNAME
    • Name: <your-project-id> (the 16-character string)
    • Target: mdw.tracelog.io
    • Proxy status: DNS only (grey cloud, not orange). The orange-cloud proxy will break the CNAME.
    • TTL: Auto
  6. Click Save.
  7. Wait 5–30 minutes, then go back to TraceLog → Tracking → click Check installation.
warning

Cloudflare's orange-cloud proxy intercepts traffic. For TraceLog's CNAME, switch the proxy off (grey cloud, "DNS only"). With the proxy on, TraceLog cannot reach your subdomain.

Route 53 (AWS)

  1. Open the Route 53 console and select the hosted zone for your domain.
  2. Click Create record.
  3. For the TXT record:
    • Record name: _tracelog-verify (Route 53 prefills the domain to the right of the input)
    • Record type: TXT
    • Value: paste the value from TraceLog, including the surrounding double quotes if Route 53 doesn't add them automatically (e.g. "tracelog-verify=abc123...")
    • TTL: 300
  4. Click Create records.
  5. Click Create record again:
    • Record name: <your-project-id>
    • Record type: CNAME
    • Value: mdw.tracelog.io
    • TTL: 300
  6. Click Create records.
  7. Wait 5–30 minutes, then go back to TraceLog → Tracking → click Check installation.

Namecheap

  1. Open the Namecheap dashboard and click Manage next to your domain.
  2. Go to the Advanced DNS tab.
  3. Click Add new record:
    • Type: TXT Record
    • Host: _tracelog-verify (use _tracelog-verify, not the FQDN — Namecheap appends the domain automatically)
    • Value: copy the value from TraceLog → Tracking → DNS Setup
    • TTL: Automatic
  4. Click the green check to save.
  5. Click Add new record again:
    • Type: CNAME Record
    • Host: <your-project-id>
    • Value: mdw.tracelog.io. (Namecheap may require the trailing dot)
    • TTL: Automatic
  6. Click the green check to save.
  7. Wait 5–30 minutes, then go back to TraceLog → Tracking → click Check installation.

Google Cloud DNS

  1. Open the Cloud DNS console and select your zone.
  2. Click Add record set:
    • DNS name: _tracelog-verify (Cloud DNS shows your zone domain as a fixed suffix to the right of the input)
    • Resource record type: TXT
    • TTL: 300
    • TXT data: paste the TraceLog value, surrounded by double quotes (e.g. "tracelog-verify=abc123...")
  3. Click Create.
  4. Click Add record set again:
    • DNS name: <your-project-id>
    • Resource record type: CNAME
    • TTL: 300
    • Canonical name: mdw.tracelog.io. (with trailing dot)
  5. Click Create.
  6. Wait 5–30 minutes, then go back to TraceLog → Tracking → click Check installation.

Common mistakes

1. The Name field includes your domain

Most common mistake. Symptom: TraceLog says "record not found" even after you saved it.

Fix: edit each record and remove .<your-domain> from the Name field. Save again and wait 5–30 minutes.

2. You're editing DNS in a panel that doesn't control your nameservers

If you bought your domain from one provider but delegated nameservers to another (common with Shopify-bought domains pointing to Google Cloud DNS, or domains bought from one registrar but managed in Cloudflare), the panel where you edit records may not be the panel that serves DNS to the public internet.

How to check: run

dig NS your-domain.com +short

If the nameservers don't match the provider where you're editing, you're editing the wrong panel.

Fix: either move nameservers to the panel where you want to edit, or edit DNS in the provider that actually controls the nameservers.

3. CNAME points to the wrong target

The CNAME target must be exactly mdw.tracelog.io. Common wrong targets:

  • cdn.tracelog.io — that's our static library CDN, not the ingest endpoint
  • api.tracelog.io — that's the dashboard API
  • tracelog.io or www.tracelog.io — the public website

If the CNAME points anywhere other than mdw.tracelog.io, events will not be ingested.


How long does propagation take?

DNS changes typically propagate in 5 to 60 minutes, but can take up to 72 hours in rare cases. TraceLog re-checks your domain automatically every 15 minutes after you create the project.

You can also click Check installation in the Tracking page to force an immediate check at any time.


Need help?