Eventbrite × Metabase

How to build Eventbrite event dashboards in Metabase

Eventbrite is the long-running ticketing and events platform — events, orders, attendees, ticket classes, and venues, with the richest commercial event data of any tool in this category. Metabase is where you turn that activity into shared, trustworthy event dashboards. This guide covers two complementary paths: a lightweight API + CLI route that pulls a scoped slice via the Eventbrite API v3 and loads a CSV into Metabase with the Metabase CLI, and a durable pipeline route that lands Eventbrite data in a database so you can build dashboards anyone can read.

Heads up: Metabase connects to databases and warehouses — it does not ship a native Eventbrite connector, and it never calls a SaaS API directly. The good news: members, posts, and registrations are ordinary tabular data. Land them in a database, define "active member" and "attended" once, and every dashboard downstream inherits the same definitions.

How do you connect Eventbrite to Metabase?

Most teams combine both routes: quick answers through API exports and CLI uploads first, then recurring event reporting on a warehouse-backed model.

1 · API + CLI route (AI-assisted)

Live event answers in, quick analysis out

No vendor MCP server exists, so this route leads with a scripted export against the Eventbrite API v3: write the result to CSV, then load it into Metabase as a ready-to-query table and model.

Best for
  • Quick questions such as "show me registrations and ticket revenue by event"
  • Loading Eventbrite exports into Metabase in seconds
  • Spot-checks and one-off questions without pipeline work
Trade-offs
  • Great for exploration, not the weekly community or event report
  • Use read-only credentials or scoped API keys wherever supported
  • CSV uploads are snapshots — refresh or move to the pipeline for history
2 · Pipeline route (warehouse-backed)

Durable event dashboards with history

Land Eventbrite data in a database or warehouse — via connector, scheduled API pulls, or a replica of the underlying database — then point Metabase at it.

Best for
  • Eventbrite dashboards the community, marketing, and support teams all trust
  • Joining community activity with product, support, and CRM data
  • Long-run trends for registrations and ticket revenue by event and rsvp-to-attendance conversion and no-show rate
Trade-offs
  • You own the refresh schedule and the grain
  • Define "active member" once, in the model layer, and state the window
  • Identity matching across tools caps how far member-level analysis goes

What can you analyze from Eventbrite data in Metabase?

These all come from the same core objects — attendees, plus the events, orders and ticket classes, venues your sync exposes:

  • Registrations and ticket revenue by event
  • RSVP-to-attendance conversion and no-show rate
  • Ticket class mix and pricing performance
  • Registration pacing and last-week surge
  • Repeat attendees across an event series

Which Eventbrite event dashboards should you build in Metabase?

For: Event and marketing teams

Registrations

Who signed up, and for what.

  • Registrations by event (bar)
  • Registrations by month (line)
  • Ticket class mix per event (stacked bar)
  • Capacity fill rate by event (table)
For: Event ops

Attendance

Who actually showed up.

  • RSVP-to-attendance conversion by event (bar)
  • No-show rate by ticket class (table)
  • Check-ins by hour on event day (line)
  • Events with no check-in data recorded (table)
For: Finance

Ticket revenue

What the events earned, net of refunds.

  • Gross vs. net ticket revenue by event (combo)
  • Refunds by event (bar)
  • Fees as a share of gross (number + trend)
  • Net revenue per attendee (table)
For: Leadership

Series performance

How the programme trends across events.

  • Repeat attendees across the series (number + trend)
  • Registration pacing in the final two weeks (line)
  • Attendance trend across events (line)
  • Best-performing venues and formats (table)

How do you export Eventbrite data and load it with the Metabase CLI?

There is no vendor MCP server for Eventbrite, so pair a scripted export against the Eventbrite API v3 with the Metabase CLI. The export gives you a CSV; the CLI's upload command loads it into Metabase and creates a ready-to-query table and model.

Example workflow

  • Ask the API for attendees for every event in the last year, one row per attendee with registration and check-in timestamps.
  • Export the result as CSV, keeping stable IDs, timestamps, and the category, space, channel, or event keys you group by.
  • Run mb upload csv to load it into Metabase as a table and model, then build questions and dashboards on top.

Be honest about the limits

  • Scripted API exports are excellent for exploration, not scheduled reporting.
  • A CSV upload is a snapshot; refresh it with mb upload replace or move to the pipeline for real history.
  • One event is a data point, not a trend. Ticket-mix, pacing, and repeat-attendee views need a full series of past events, with orders and refunds included.
  • mb upload csv needs an uploads database configured under Admin → Settings → Uploads.

How do you set up the Eventbrite API v3 export and the Metabase CLI?

Eventbrite API v3official

Transport
HTTPS REST API, called from your own script
Auth
Eventbrite private token or OAuth token
Best for
Scoped guest, attendee, and event exports

Metabase CLIofficial

Install
npm install -g @metabase/cli
Auth
mb auth login
Load data
mb upload csv --file data.csv
Requires
An uploads database (Admin → Settings → Uploads)
TerminalExport attendees from the Eventbrite API v3
# No vendor MCP server exists. Export directly from API v3 instead:
curl -s "https://www.eventbriteapi.com/v3/events/$EVENT_ID/attendees/" \
  -H "Authorization: Bearer $EVENTBRITE_TOKEN" \
  | jq -r '.attendees[] | [.id, .event_id, .status, .created,
      .checked_in, .ticket_class_name] | @csv' \
  > eventbrite-attendees.csv

Eventbrite publishes no MCP server (verified July 2026). Several community projects wrap API v3 with a private token; none is authoritative, so this guide leads with a scripted export against the documented API. One thing to know before you evaluate any of them: Eventbrite removed public event search from the API years ago, so a server advertising "search all events" is either scraping or is limited to events your own organization owns.

TerminalLoad a Eventbrite CSV with the Metabase CLI
# Install the Metabase CLI
npm install -g @metabase/cli

# Log in (opens your browser; requires Metabase v62+)
mb auth login --url https://your-metabase.example.com

# Load a attendees export — creates a table AND a model
mb upload csv --file eventbrite-attendees.csv --collection root

# Refresh that same table later from a new export
mb upload replace <table-id> --file eventbrite-attendees.csv

Can you generate a Eventbrite dashboard with AI?

Yes. Use the prompt below with any assistant that can run shell commands (for the API export) and the Metabase CLI. It works end to end: if Eventbrite tables already exist in Metabase it analyzes those; otherwise it pulls scoped, summarized data, loads it with mb upload csv, then builds the dashboard and caveats any metric that needs missing history.

Prompt for creating a Eventbrite Event Overview dashboard
Create a polished Metabase dashboard for Eventbrite event analytics.
Work end to end: get the data into Metabase if it isn't there yet, then build.

Goal: Help community, marketing, and support leaders understand registrations, RSVP-to-attendance conversion, ticket revenue net of refunds, and repeat attendance from Eventbrite data.

Step 1 — Find or load the data:
- First, check what already exists in Metabase (search for eventbrite tables and
  models). If durable Eventbrite data is already present — a warehouse sync, a
  database replica, or an earlier upload — use it and skip to Step 2.
- If nothing is there, pull a scoped, summarized export by scripting the Eventbrite API v3:
  attendees, plus events, orders and ticket classes, venues.
  Prefer summarized rollups by month, category, space, channel, or event over raw
  message and post bodies. Write each result to a CSV, then load it with the
  Metabase CLI — run "mb upload csv --file <export>.csv" so each upload creates a
  table and a ready-to-query model. Use "mb upload replace <table-id> --file
  <export>.csv" to refresh an existing table instead of creating duplicates.

Step 2 — Inspect before querying:
Do not assume exact table or column names. Inspect available fields, categories,
spaces or channels, events, and date ranges before creating trend cards.

Important:
- Build on whatever data is present; don't claim Metabase connects natively to
  Eventbrite — it reads a database or CLI-uploaded tables.
- Every "active member" card must state its window and its action (posted?
  logged in?) in the card title or description. There is no standard definition.
- Deleted and anonymized accounts disappear from the current member list, which
  silently rewrites historical member counts. Prefer daily snapshots over
  recomputing history.
- Attendance is unknowable without check-in data. Exclude events where nobody
  checked anyone in rather than scoring them as 0% attendance.
- A single CSV is a point-in-time snapshot: only build trend cards if there is
  a usable date column or multiple periods have been uploaded.

Dashboard title: Eventbrite Event Overview

Sections:
1. Executive summary: Registrations this period; Attendance rate
   (check-in data only); Net ticket revenue; Repeat attendees;
   Events with no check-in data.
2. Registrations: By event and by month; ticket class mix; capacity fill.
3. Attendance: Conversion by event; no-show rate; check-ins by hour.
4. Revenue: Gross, fees, refunds, and net by event; net per attendee.
5. Series: Repeat attendees; registration pacing; attendance trend.

Filters: Date range, Category or Space or Channel, Event, Member segment,
Ticket type.

Output: Build the dashboard if you have permission; otherwise provide the exact
questions, SQL, model definitions, and layout. Include caveats for any metric
that cannot be calculated from the available data.

How do you sync Eventbrite data into a database or warehouse?

For dashboards that need history and reliability, land Eventbrite data in a database first, then connect Metabase to that database.

Connector options

  • Managed connector or database replica — use a connector when one genuinely covers the objects you need, or replicate the underlying database when you host it yourself.
  • Custom pipeline — use the Eventbrite API v3 for control over grain, fields, and refresh cadence.
  • API + CSV — use this for quick exploration and one-off slices.

This is the best-connected tool in the category. Airbyte's source-eventbrite (Marketplace support level) syncs organizations, events, attendees, orders, venues, and ticket classes with incremental support on most streams; Fivetran offers an Application Lite connector, so confirm its schema covers orders and attendees if revenue reporting matters. Scripting API v3 yourself is straightforward too — use expansions to inline related objects and cut your request count substantially.

Notes

  • Decide the grain first (one row per post, message, or registration; daily rollups on top) — it drives every trend card.
  • Land raw tables first, then build clean Metabase models on top of them.
  • Normalize event, attendee, order, ticket-class, registered-at, and checked-in-at fields.

How should you model Eventbrite data in Metabase?

Core tables

TableGrainKey columns
community_eventsone row per eventevent_id, organization_id, name, starts_at, ends_at, venue_id, capacity, status, is_free
event_registrationsone row per attendee per eventregistration_id, event_id, order_id, guest_id, registered_at, checked_in_at, ticket_class, gross_amount
event_ordersone row per orderorder_id, event_id, buyer_id, created_at, ticket_count, gross_amount, fees, refunded_amount

Modeling advice

  • Build a clean event_registrations model with common columns across forums, community platforms, chat servers, and event tools, so multi-source dashboards don't fork definitions.
  • Snapshot member counts daily into a table you own. Deleted and anonymized accounts vanish from the live member list, which changes last quarter's numbers every time you refresh.
  • Keep the definition of "active member" — the window and the action — in the model layer, and surface it in card titles. There is no standard.
  • Treat attendance as missing, not zero, when no check-in was recorded. Flag those events explicitly so conversion cards can exclude them.
  • Hash or drop email addresses at the pipeline boundary and join members across tools on a stable ID wherever you have one.

Which Eventbrite event metrics should you track in Metabase?

MetricDefinitionNotes
RSVP-to-attendance conversionAttendees checked in over attendees registered.Unknowable without check-in data — exclude those events.
Member growth rateNew unique attendees per period over the audience you had.Needs identity matching across events to mean anything.
Conversion rateRegistrations over visitors to the event page.Not in the events export — join your web analytics.

What SQL powers Eventbrite event dashboards in Metabase?

These assume a cleaned analytical model in a warehouse (PostgreSQL dialect). Adjust table and column names to match your pipeline — the modeled names above rarely survive a sync unchanged.

RSVP-to-attendance conversion by eventPostgreSQL

Registered vs. checked in, with no-check-in events left null.

-- Events where nobody checked anyone in return NULL, not 0%.
SELECT
  e.name AS event,
  e.starts_at::date AS event_date,
  COUNT(*) AS registered,
  COUNT(r.checked_in_at) AS checked_in,
  CASE
    WHEN COUNT(r.checked_in_at) = 0 THEN NULL
    ELSE ROUND(100.0 * COUNT(r.checked_in_at) / NULLIF(COUNT(*), 0), 1)
  END AS attendance_pct
FROM community_events e
JOIN event_registrations r ON r.event_id = e.event_id
WHERE e.starts_at < CURRENT_DATE
GROUP BY 1, 2
ORDER BY 2 DESC;
Ticket revenue net of fees and refundsPostgreSQL

Gross, fees, refunds, and net side by side per event.

SELECT
  e.name AS event,
  COUNT(DISTINCT o.order_id) AS orders,
  SUM(o.ticket_count) AS tickets,
  ROUND(SUM(o.gross_amount), 2) AS gross_revenue,
  ROUND(SUM(o.fees), 2) AS fees,
  ROUND(SUM(o.refunded_amount), 2) AS refunds,
  ROUND(SUM(o.gross_amount - o.fees - o.refunded_amount), 2) AS net_revenue
FROM event_orders o
JOIN community_events e ON e.event_id = o.event_id
GROUP BY 1
ORDER BY net_revenue DESC;
Repeat attendees across the seriesPostgreSQL

How many guests came once, twice, or kept coming back.

WITH attended AS (
  SELECT
    guest_id,
    COUNT(DISTINCT event_id) AS events_attended
  FROM event_registrations
  WHERE checked_in_at IS NOT NULL
  GROUP BY guest_id
)
SELECT
  events_attended,
  COUNT(*) AS guests
FROM attended
GROUP BY events_attended
ORDER BY events_attended;

What are common mistakes when analyzing Eventbrite in Metabase?

Reporting an active member count without saying what active means.→ Thirty days or ninety? Posted, reacted, or merely logged in? Each choice produces a different number, and none of them is a standard. Put the window and the action in the card title, and keep the definition in one model.
Assuming registrations equal attendance.→ If nobody scanned tickets, checked_in_at is null for reasons that have nothing to do with who showed up. Exclude those events from conversion cards and count them separately — scoring them at 0% is worse than showing a gap.
Reporting gross ticket revenue as revenue.→ Fees and refunds both come out of the gross number, and a single cancelled corporate order can swing an event's result. Keep gross, fees, and refunded amounts as separate columns and report net.
Building dashboards from one-off exports only.→ A scripted export is a snapshot. Schedule it, land the results in a database, and let history accumulate — pacing, repeat attendance, and year-over-year views all need it.

Related analytics

Related dashboards

Related integrations

FAQ

Does Metabase connect natively to Eventbrite?
No. Metabase reads databases and warehouses. Land Eventbrite data in a database first — via connector, scheduled API pulls, or a replica of the underlying database — or upload a CSV with the Metabase CLI, then build Metabase models and dashboards on top.
Should Metabase replace Eventbrite?
No — they answer different questions. Eventbrite is where the community or the event actually happens, and its built-in reporting is fine for a quick look. Metabase is where you build governed, shareable reporting for the whole company, and join community and event activity with product usage, support tickets, and CRM data.
Can I search all public Eventbrite events through the API?
No. Eventbrite removed public event search from the API years ago, so anything advertising "search all events" is either scraping or is quietly limited to events your own organization owns. Plan your reporting around your organization's own events, orders, and attendees — which is what API v3 does expose, in depth.
How do I measure attendance if nobody scanned tickets?
You don't. Without check-in data, checked_in_at is null for reasons that have nothing to do with who walked through the door. Exclude those events from RSVP-to-attendance conversion and show a count of them on the dashboard — scoring them at 0% attendance is worse than showing a gap.