Page updated Mar 25, 2024

Record events

Recording Custom Events

To record custom events call the record API:

1import { record } from 'aws-amplify/analytics';
2
3record({
4 name: 'albumVisit',
5});

Analytics events are buffered in memory and periodically sent to the service and not saved locally between application sessions. If the session is ended before a buffered event is sent, it will be lost. Use the flushEvents API to manually send buffered events to the service.

Record a Custom Event with Attributes

The record API lets you add additional attributes to an event. For example, to record artist information with an albumVisit event:

1import { record } from 'aws-amplify/analytics';
2
3record({
4 name: 'albumVisit',
5 attributes: { genre: '', artist: '' },
6});

Recorded events will be buffered and periodically sent to Pinpoint.

Record Engagement Metrics

Metrics can also be added to an event:

1import { record } from 'aws-amplify/analytics';
2
3record({
4 name: 'albumVisit',
5 metrics: { minutesListened: 30 },
6});

Metric values must be a Number type such as a float or integer.

The AWS Pinpoint event count updates in minutes after recording your event.

However, it can take upwards of 30 minutes for the event to display in the Filter section, and for its custom attributes to appear in Pinpoint.

Flush events

The recorded events are saved in a buffer and sent to the remote server periodically. If needed, you have the option to manually clear all the events from the buffer by using the 'flushEvents' API.

1import { flushEvents } from 'aws-amplify/analytics';
2
3flushEvents();