class Measurement

Defined at line 23 of file ../../src/lib/analytics/cpp/google_analytics_4/measurement.h

Represents a JSON post body for GA4 measurement protocol as described in

https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference?client_type=gtag#payload_post_body

We dropped a few optional JSON object keys (e.g. "non_personalized_ads") that we will not use.

Public Methods

void Measurement (std::string client_id)

Defined at line 9 of file ../../src/lib/analytics/cpp/google_analytics_4/measurement.cc

void AddEvent (std::unique_ptr<Event> event)

Add an Event to the measurement. One measurement can include up to 25 events.

Defined at line 11 of file ../../src/lib/analytics/cpp/google_analytics_4/measurement.cc

void SetUserProperty (std::string name, Value value)

Set one user property.

Defined at line 15 of file ../../src/lib/analytics/cpp/google_analytics_4/measurement.cc

void SetUserProperties (std::map<std::string, Value> user_properties)

Replace the whole user_properties map. Previously set values will be lost.

Defined at line 22 of file ../../src/lib/analytics/cpp/google_analytics_4/measurement.cc

const std::string & client_id ()

Getters for the corresponding JSON object keys

Defined at line 26 of file ../../src/lib/analytics/cpp/google_analytics_4/measurement.h

void SetEvents (std::vector<std::unique_ptr<Event>> event_ptrs)

Replace the whole events vector. Previously added events will be lost.

Defined at line 26 of file ../../src/lib/analytics/cpp/google_analytics_4/measurement.cc

const std::vector<std::unique_ptr<Event>> & event_ptrs ()

Defined at line 27 of file ../../src/lib/analytics/cpp/google_analytics_4/measurement.h

const std::optional<std::map<std::string, Value>> & user_properties_opt ()

Defined at line 28 of file ../../src/lib/analytics/cpp/google_analytics_4/measurement.h