Migration Guide

Umami to Beam: self-hosted to managed in 15 minutes

This guide is for developers running self-hosted Umami who want to drop the infrastructure overhead without losing privacy-first analytics. Beam covers the same core metrics — pageviews, referrers, countries, devices, events — with zero server maintenance.

What carries over

What you're trading

Migration checklist

  1. 1

    Find all Umami script tags

    Search your codebase for script.js or your Umami server domain. Common locations: HTML templates, layout files, CMS theme files.

  2. 2

    Create a Beam account and site

    Sign up at beam-privacy.com, create a site for your domain, and copy the generated site ID. Free tier: 50K pageviews/mo.

  3. 3

    Replace Umami script with Beam

    Remove the Umami <script> tag and add the Beam equivalent in the same deployment:

    <!-- Remove: -->
    <script async src="https://your-umami-server.com/script.js"
            data-website-id="YOUR_UMAMI_ID"></script>
    
    <!-- Add: -->
    <script defer src="https://beam-privacy.com/js/beam.js"
            data-site-id="YOUR_BEAM_SITE_ID"></script>
  4. 4

    Update custom event calls (if any)

    If you're using Umami's umami.track() for custom events, update to the Beam equivalent:

    // Umami:
    umami.track('signup_click', { plan: 'pro' })
    
    // Beam:
    window.beam?.track?.('signup_click', { plan: 'pro' })
  5. 5

    Verify first pageviews in Beam

    After deploying, open your site in a private window and navigate to two pages. Check the Beam dashboard — pageviews should appear within 30 seconds. Confirm top pages and a key event if you migrated events.

  6. 6

    Export Umami data and decommission server

    Export your Umami database or use Umami's built-in data export before shutting down. Once Beam is confirmed working, you can safely stop your Umami server, container, or VM.

Start the migration now

Sign up free — 50K pageviews/mo included. No credit card needed. Your Beam site is ready in under a minute.