Overview

Amperity’s real-time suite recognizes your customers and reacts to their behavior as it happens. Inbound events flow through a pipeline of objects–from an event arriving on a stream, to the profile it updates, to the always-on audiences and journeys that act on it–so that your brand can respond to a customer in the moment rather than on a batch schedule.

Diagram of batch and real-time processing in Amperity. Batch data flows through batch processing and Stitch to the customer 360 database, then to database segments and campaigns or journeys that send to owned and paid media on each database run. Events flow through real-time processing to a profile collection, then to real-time segments and real-time journeys that send to owned and paid media as events arrive. Stitch produces Amperity IDs that build the keychain real-time processing uses to recognize customers, the customer 360 database supplies database attributes to the profile collection, and the Real-time API reads profiles from the profile collection.Diagram of batch and real-time processing in Amperity. Batch data flows through batch processing and Stitch to the customer 360 database, then to database segments and campaigns or journeys that send to owned and paid media on each database run. Events flow through real-time processing to a profile collection, then to real-time segments and real-time journeys that send to owned and paid media as events arrive. Stitch produces Amperity IDs that build the keychain real-time processing uses to recognize customers, the customer 360 database supplies database attributes to the profile collection, and the Real-time API reads profiles from the profile collection.

The real-time pipeline

Data moves through the real-time suite in a fixed flow:

  1. Event streams and event types. Customer events arrive on an event stream. The stream recognizes each event’s event type and coerces its fields into a typed record.

  2. Identity recognition. Amperity resolves the event’s identifiers to the stitched customer they belong to, so the event updates the right person. See real-time identity recognition.

  3. Profile collections. The event updates a real-time profile in a profile collection–a per-customer record of attributes, keyed by the customer’s Amperity ID.

  4. Attributes. The collection maintains event and computed attributes from the profile’s events, alongside database attributes from your customer 360 database. Event and computed attributes are written in Amperity’s expression language.

  5. Real-time segments. An always-on real-time segment continuously evaluates a predicate over the collection’s profiles; a profile enters or exits the segment as its attributes change.

  6. Real-time journeys. A real-time journey that travelers enter by segment membership drives activations in real time–sending to a destination–and records each traveler’s path in a travel log.

Real-time in a sandbox

Real-time objects in a sandbox start the same way they do in production, so that you can build and test without sending live messages:

  • Real-time journeys start paused. A new real-time journey does not activate to a destination until you turn it on.

  • Profile collections don’t refresh on their own. A new collection refreshes after each database run only when Automatically refresh profiles after each database run? is selected; otherwise you refresh it explicitly.

  • A sandbox’s streams accept the events sent to them. The parent tenant’s events reach a sandbox’s stream only when Process parent events is turned on for that stream in the sandbox. The switch is unavailable when the parent tenant has no stream with the same ID.

The Real-time API

The Real-time API enables your brand to stream customer events into Amperity and read back unified customer profiles, profile collections, and real-time segment membership through a collection of RESTful endpoints at the /prof base path. Use the Real-time API to support low-latency use cases such as recognizing returning customers and personalizing experiences at request time.

To write the expressions that recognize events, shape event types, and define real-time segments, see Expressions for real-time.