Snowplow Signals: Now faster, More Powerful, and Easier to Use
We're shipping four improvements to Signals that enable faster, more sophisticated real-time agentic AI applications.
TL;DR
- Sub-10ms p95 latency for attribute lookups (6ms p50, 9ms p95)
- Templated attribute groups for faster setup
- New aggregation functions for dynamic behavioral analysis
- Accurate windowed aggregates at any scale
Sub-10ms API: 7x Faster than Leading Open-Source Frameworks
The Profiles API has been rearchitected to deliver attribute lookups at 6ms p50 and sub-10ms p95 latency, which is 7x faster than leading open-source frameworks.
AI agents can now retrieve behavioral context without adding latency to user experiences. This makes pre-page-load personalization viable, ie: agents can access user attributes, make decisions about content or offers, and execute before the page renders. No code changes or configuration updates required; existing API calls automatically benefit from the improved performance.

Templated Attribute Groups
Templated attribute groups provide pre-configured bundles for common use cases, reducing initial setup time from hours to minutes. Instead of manually configuring individual attributes, apply a template to generate a complete attribute set.
- Transactions: ( 5 attributes) - Transactional and e-commerce data including revenue and order metrics
- Product Views: (4 attributes) - Product-focused e-commerce behavior and interactions
- Campaign Attribution: (12 attributes) - Marketing campaign attribution connecting touchpoints to conversions
- Basic Web: (4 attributes) - Fundamental web analytics tracking
- User Agent: (7 attributes) - Device and browser information
All generated attributes are fully customizable after creation. Templates work for both streaming and batch attribute groups, and use Snowplow's OOTB event schemas as the foundation.
New Aggregation Functions and Filtering Criteria
Four new aggregation functions enable new behavioral analysis across dynamic content, without pre-specifying values. Example: identify users who've browsed 5+ product categories but only purchased from one, without hardcoding category names.
most_frequent / least_frequent -Identify the most or least common value (e.g., preferred product category, most-viewed content type)category_count -Count distinct categories (e.g., number of different product categories explored)approx_count_distinct -Approximate count of unique values (e.g., unique pages visited)
New filtering criteria:
is_null / is_not_null -Filter based on presence or absence of data (e.g., customers who have never completed a purchase)

Windowed Attributes at Scale
Windowed attributes (e.g., "last 7 days" or "last 30 days") now maintain accuracy regardless of event volume or window length. You can now calculate partial aggregates inside Profiles and aggregate them at read-time.
This ensures high-activity users (often your most valuable customers) receive accurate engagement scoring and behavioral analysis. For example, "page views in the last 30 days" correctly counts all page views in that window, even for users generating thousands of events.

Availability
All features are available today. Already a customer? See our documentation for configuration details or contact your account team. New to Snowplow? Request a demo to speak with the team.