Changelog
Changelog
We ship new features, fixes, and improvements to Formo every week
User Attribution Filters, Retention by Label, Historical Label Backfills, and Batch Profiles API
Here are this week's highlights:
User Attribution Filters
Retention Cohorts by Label
Historical Label Backfills
Profiles Batch API
Improvements and Fixes
User Attribution Filters
The Users page now has an attribution mode toggle on the Wallets, Clusters, and Visitors tables, so you can switch between Any, First touch, and Last touch to see how a wallet looks under each attribution model without leaving the page.

This makes it easy to compare a campaign's first-touch reach against the wallets that actually converted under last-touch, and to spot the difference between users your channels introduced versus the ones they closed.
Retention Cohorts by Label
Retention cohorts now support filtering by user labels, so you can measure retention for the segments that actually matter to you.

If your product writes a custom label like open_interest or kyc_verified to Formo, you can now restrict a cohort to wallets that carry that label (e.g. open_interest > 10000) and watch how they retain over time, instead of being limited to event-based cohorts.
Carry-forward is built into the retention logic, so a label written once (or sporadically) is correctly applied to every subsequent week until the next event for that key.
Historical Label Backfills
The Create Label API now accepts an optional timestamp on each label write, so you can record labels at a point in the past instead of always at server time:
Current time: omit
timestampand the label is recorded at the moment you send it. This is the right default for live signals you're sending as users earn them.Historical data: pass an ISO-8601
timestampto record the label at a specific point in the past. This lets you backfill historical readings (for example, last quarter'sopen_interestsnapshot) so retention cohorts can evaluate each label value at the correct point in time.
This pairs especially well with cohorts based on numeric thresholds, where the value you cared about on a user's signup day may not be the value they carry today.
Profiles Batch API
The Profiles API now has batch endpoints for user labels and properties, so you can upsert up to 100 wallets in a single request instead of one wallet per call. Perfect for a nightly data syncs and cron jobs.

Both endpoints return partial-success results, so a single bad row doesn't fail the whole batch.
Improvements and Fixes
Added CSV export for analytics overview charts on Countries, Pages, Sources, Devices, Wallets, and Chains.
Added links from overview page charts to the users page so you can click any row to drill into the underlying wallets matching selected filters.
Added page size selector to the Activity and Users tables.
Improved accuracy for visitor and session counts on overview charts so they match the headline KPIs, using shared first-touch attribution model.
The Channel filter on the Users page now segments wallets by the channel that brought them in on their very first session, matching first-touch attribution on the Overview Channel chart.
Show full country names in the legend and tooltip of the Countries chart, in place of two-letter ISO codes.
Added
afandreferrerto the Web SDK's default tracked referral parameters so common affiliate and referrer query strings are captured out of the box.Added a workspace ID field to workspace settings, so support can debug your issues faster.
Improved Ask AI error diagnostics so transient failures are actually debuggable, with richer error context captured for our team.
Improved Ask AI response quality with reorganized system prompts and tighter SQL and chart guardrails.
Improved Ask AI tool-call resilience so mid-stream errors fall back gracefully instead of breaking the response.
Improved user clusters query performance.
Fixed Boards chart pagination scrolling to the wrong chart.
Fixed the date-picker disappearing on Boards.
Fixed the missing template title and description on the Dashboard template.
Fixed user count inflation in overview charts caused by anonymous ID churn from automated bots.
Platform security and performance improvements.
Share this on
Crypto analytics that drive growth
Formo helps you define, measure, and drive impact onchain in less time.
Compare
Ask AI about Formo