Accessing Heartbeat data
Heartbeat survey studies return telemetry on user engagement with the survey prompt. The heartbeat pings do not contain the survey responses themselves, which are stored by SurveyGizmo.
The telemetry is received using the heartbeat
document type,
which is described in the Firefox source tree docs.
Linking Heartbeat responses to telemetry
Heartbeat responses may be linked to Firefox telemetry
if there is a "includeTelemetryUUID": true
key in the arguments
object
of the show-heartbeat
recipe.
Heartbeat never reports telemetry client_id
s to SurveyGizmo, but,
when includeTelemetryUUID
is true,
the Normandy user_id
is reported to SurveyGizmo
as the userid
URL variable.
Simultaneously, a heartbeat
ping is sent to Mozilla,
containing both the telemetry client_id
and the Normandy userid
that was reported to SurveyGizmo.
The userid
is reported by appending it to the surveyId
field of the ping, like:
hb-example-slug::e87bcae5-bb63-4829-822a-85ba41ee5d53
These can be extracted from the ping table for analysis using expressions like:
SPLIT(payload.survey_id,'::')[OFFSET(1)] AS surveygizmo_userid
Data reference
Heartbeat data is available in the telemetry.heartbeat
table in BigQuery.
Its structure matches the heartbeat ping schema.