Google Analytics Measurement Protocol - google/megalista GitHub Wiki
Description
Sends hits to a GA Property through Measurement Protocol.
Selector
GA_MEASUREMENT_PROTOCOL
Requirements
- Google Analytics account id configured in the "Intro" tab.
Expected Schema
Column name | Type | Description | Requirement |
---|---|---|---|
uuid | STRING | Unique event identifier defined by the user used by megalista to deduplicate events before sending | required |
client_id | STRING | optional* | |
user_id | STRING | optional* | |
event_category | STRING | required** | |
event_action | STRING | required** | |
event_label | STRING | optional | |
event_value | INTEGER | optional | |
transaction_id | STRING | required*** | |
cd1, cd2, cd[n]... | STRING | Any column starting with "cd" with be sent as a custom dimension. The column represents the CD number. | optional |
cm1, cm2, cm[n]... | STRING | Any column starting with "cm" with be sent as a custom metric. The column represents the CM number. | optional |
campaign_source | STRING | optional | |
campaign_medium | STRING | optional |
*One of client_id or user_id needs to be sent.
**Required for "event" hit type.
***Required for "transaction" and "item" hit type.
Metadata
- Metadata 1: GA Property Id
- Metadata 2: "1" if the hit should be non-interactive, "0" otherwise
- Metadata 3: The hit type. Allowed values are "event", "transaction" and "item". Defaults to "event" if none is provided.
Additional information
If you are using "transaction" or "item" hit types, only the "transaction_id" field is required, but other transaction and item fields are also allowed. See Enhanced Ecommerce Tracking for more details.
At every request successfully sent, Megalista stores its uuid on a temporary table for 15 days. At every new execution, it consults stored uuids and, in case request has already being sent, it prevents it to be sent again. As a result, source table should not maintain events for more than 15 days.
Note: The UUID value should not change for a given line/conversion. If the UUID for a line/conversion changes, this line/conversion would be resent by Megalista, duplicating the data in GA.
The UUID doesn't have to be a Universally Unique Identifier, but any value that uniquely identifies a line/conversion. For instance, a "order id" may be a good candidate for the UUID field if the "order id" is unique.