Documentation Index

Fetch the complete documentation index at: https://docs.blackthorn.io/llms.txt

Use this file to discover all available pages before exploring further.

Event ROI Daily Snapshots

Prev Next

About

Blackthorn Events captures a daily snapshot of each event's registration, attendance, and revenue/ROI metrics. Each snapshot records where an event stood as of a given day, and the snapshots accumulate into a day-by-day history.

This history is what powers the trend charts and ROI dashboards in the Events Reporting suite (for example, the Planning ROI Dashboard). Metrics like registrations over time, revenue and fees to date, budget vs. actuals, and campaign-influenced pipeline are read from these daily records rather than calculated live.

Dashboards fill in over time

Because snapshots accumulate one day at a time, dashboards and reports that rely on them start empty and populate as snapshots are captured each day. A brand-new org (or a newly enabled event) will not show trend history until snapshots have run — or until an administrator runs a backfill (see Historical data below). This is expected; the data builds up going forward.

What each snapshot captures

One snapshot record is created per event, per day. Each record stores:

Daily activity (for that day)

  • New registrations
  • Payment failures

Running totals (as of that day)

  • Registrations, check-ins, no-shows, and waitlisted counts
  • Gross revenue, net revenue, fees collected, discounts, refunds, and taxes
  • Budget and expenses
  • Average order value
  • Campaign-influenced pipeline, influenced revenue, and opportunities influenced

Derived metrics

  • Capacity and capacity utilization %
  • Budget-vs-fees delta

Where the numbers come from: revenue and fees are based on captured Blackthorn Payments transactions for the event (or, if the org does not use transactions, on posted/paid invoices). The campaign-influence metrics (pipeline, influenced revenue, opportunities influenced) require the event to have a Campaign and use Salesforce Campaign Influence.

How often it runs

Snapshots are generated once per day by a scheduled Apex job (set to run at 2:00 AM). The job is scheduled automatically when Blackthorn Events is set up — specifically when an administrator completes the Events authorization/connection. No manual scheduling is required; you can confirm the job is active under Setup → Scheduled Jobs (see the admin note below).

Historical data (backfill)

The daily job only captures data going forward, so an event's history from before snapshots started running is not present by default. A backfill can populate prior dates:

  • By default it covers the trailing 90 days (through yesterday); a custom date range can also be specified (the end date is capped at today).
  • It is safe to re-run — each event/day record is matched on a unique key and updated in place rather than duplicated.
  • It follows the same rules as the daily job: it does nothing if reporting is disabled, and it only processes snapshot-eligible events.

The backfill is run manually (executed as an Apex batch by an administrator or by Blackthorn). In the current release there is no self-serve button or automatic trigger for it.

For Salesforce administrators
  • Storage object: Event_Daily_Snapshot__c — one record per event per day. Event_Snapshot_Key__c (a unique External ID in the format <EventId>:<YYYY-MM-DD>) is the upsert key that keeps writes idempotent.
  • Scheduled job: runs daily at 2:00 AM under the name "Blackthorn | Events ROI Daily Snapshot" (cron 0 0 2 ? * *). It is scheduled when an admin completes the Events authorization/connection — not by the package install itself. Confirm/monitor it under Setup → Scheduled Jobs; if it is missing, re-run the Events setup/authorization to reschedule it.
  • Which events are included: all events are eligible by default. To exclude a specific event, set the Event Settings field Enable_ROI_Snapshots__c to false. Events that are part of a recurring series are excluded automatically.
  • Data dependencies: revenue/fee metrics require Blackthorn Payments transactions (or posted/paid invoices); campaign-influence metrics require the event's Campaign and Salesforce Campaign Influence. Budget_To_Date__c and Expense_To_Date__c are copied from the event's Total_Budget__c / Total_Expenses__c at snapshot time.
  • Backfill: RoiSnapshotBackfill batch — default window today − 90 through yesterday (custom range supported; end capped at today), idempotent upsert on Event_Snapshot_Key__c. Run manually via Apex; there is no scheduled or self-serve trigger. Its event query only includes events created within ~30 days before the backfill start date, so events created well before the window may not be picked up.
  • Fields not yet populated: the object defines AR_Outstanding_To_Date__c and Sessions_At_Risk__c, but the current release does not populate them — expect these to be blank.
  • Turning it off: Blackthorn Events Settings → Disable Reporting Apex (Disable_Reporting_Apex__c) disables all Events reporting automation, including the daily snapshot job and the backfill.