Method: events.ingest

Uploads a list of Event resources from the provided Destination.

HTTP request

POST https://datamanager.googleapis.com/v1/events:ingest

The URL uses gRPC Transcoding syntax.

Request body

The request body contains data with the following structure:

JSON representation
{
  "destinations": [
    {
      object (Destination)
    }
  ],
  "events": [
    {
      object (Event)
    }
  ],
  "consent": {
    object (Consent)
  },
  "validateOnly": boolean,
  "encoding": enum (Encoding),
  "encryptionInfo": {
    object (EncryptionInfo)
  }
}
Fields
destinations[]

object (Destination)

Required. The list of destinations to send the events to.

events[]

object (Event)

Required. The list of events to send to the specified destinations. At most 2000 Event resources can be sent in a single request.

consent

object (Consent)

Optional. Request-level consent to apply to all users in the request. User-level consent overrides request-level consent, and can be specified in each Event.

validateOnly

boolean

Optional. For testing purposes. If true, the request is validated but not executed. Only errors are returned, not results.

encoding

enum (Encoding)

Optional. Required for UserData uploads. The encoding type of the user identifiers. For hashed user identifiers, this is the encoding type of the hashed string. For encrypted hashed user identifiers, this is the encoding type of the outer encrypted string, but not necessarily the inner hashed string, meaning the inner hashed string could be encoded in a different way than the outer encrypted string. For non UserData uploads, this field is ignored.

encryptionInfo

object (EncryptionInfo)

Optional. Encryption information for UserData uploads. If not set, it's assumed that uploaded identifying information is hashed but not encrypted. For non UserData uploads, this field is ignored.

Response body

Response from the IngestEventsRequest.

If successful, the response body contains data with the following structure:

JSON representation
{
  "requestId": string
}
Fields
requestId

string

The auto-generated ID of the request.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/datamanager

Event

An event representing a user interaction with an advertiser's website or app.

JSON representation
{
  "destinationReferences": [
    string
  ],
  "transactionId": string,
  "eventTimestamp": string,
  "lastUpdatedTimestamp": string,
  "userData": {
    object (UserData)
  },
  "consent": {
    object (Consent)
  },
  "adIdentifiers": {
    object (AdIdentifiers)
  },
  "currency": string,
  "conversionValue": number,
  "eventSource": enum (EventSource),
  "eventDeviceInfo": {
    object (DeviceInfo)
  },
  "cartData": {
    object (CartData)
  },
  "customVariables": [
    {
      object (CustomVariable)
    }
  ],
  "experimentalFields": [
    {
      object (ExperimentalField)
    }
  ]
}
Fields
destinationReferences[]

string

Optional. Reference string used to determine the destination.

transactionId

string

Required. The unique identifier for this event.

eventTimestamp

string (Timestamp format)

Required. The time the event occurred.

Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

lastUpdatedTimestamp

string (Timestamp format)

Optional. The last time the event was updated.

Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

userData

object (UserData)

Optional. Pieces of user provided data, representing the user the event is associated with.

consent

object (Consent)

Optional. Information about whether the associated user has provided different types of consent.

adIdentifiers

object (AdIdentifiers)

Optional. Identifiers and other information used to match the conversion event with other online activity (such as ad clicks).

currency

string

Optional. The currency code associated with all monetary values within this event.

conversionValue

number

Optional. The conversion value associated with the event, for value-based conversions.

eventSource

enum (EventSource)

Optional. Signal for where the event happened (web, app, in-store, etc.).

eventDeviceInfo

object (DeviceInfo)

Optional. Information gathered about the device being used (if any) when the event happened.

cartData

object (CartData)

Optional. Information about the transaction and items associated with the event.

customVariables[]

object (CustomVariable)

Optional. Additional key/value pair information to send to the conversion containers (conversion action or FL activity).

experimentalFields[]

object (ExperimentalField)

Optional. A list of key/value pairs for experimental fields that may eventually be promoted to be part of the API.

AdIdentifiers

Identifiers and other information used to match the conversion event with other online activity (such as ad clicks).

JSON representation
{
  "sessionAttributes": string,
  "gclid": string,
  "gbraid": string,
  "wbraid": string,
  "landingPageDeviceInfo": {
    object (DeviceInfo)
  }
}
Fields
sessionAttributes

string

Optional. Session attributes for event attribution and modeling.

gclid

string

Optional. The Google click ID (gclid) associated with this event.

gbraid

string

Optional. The click identifier for clicks associated with app events and originating from iOS devices starting with iOS14.

wbraid

string

Optional. The click identifier for clicks associated with web events and originating from iOS devices starting with iOS14.

landingPageDeviceInfo

object (DeviceInfo)

Optional. Information gathered about the device being used (if any) at the time of landing onto the advertiser’s site after interacting with the ad.

DeviceInfo

Information about the device being used (if any) when the event happened.

JSON representation
{
  "userAgent": string,
  "ipAddress": string
}
Fields
userAgent

string

Optional. The user-agent string of the device for the given context.

ipAddress

string

Optional. The IP address of the device for the given context.

EventSource

The source of the event.

Enums
EVENT_SOURCE_UNSPECIFIED Unspecified EventSource. Should never be used.
WEB The event was generated from a web browser.

CartData

The cart data associated with the event.

JSON representation
{
  "merchantId": string,
  "merchantFeedLabel": string,
  "merchantFeedLanguageCode": string,
  "transactionDiscount": number,
  "items": [
    {
      object (Item)
    }
  ]
}
Fields
merchantId

string

Optional. The Merchant Center ID associated with the items.

merchantFeedLabel

string

Optional. The Merchant Center feed label associated with the feed of the items.

merchantFeedLanguageCode

string

Optional. The language code in ISO 639-1 associated with the Merchant Center feed of the items.where your items are uploaded.

transactionDiscount

number

Optional. The sum of all discounts associated with the transaction.

items[]

object (Item)

Optional. The list of items associated with the event.

Item

Represents an item in the cart associated with the event.

JSON representation
{
  "merchantProductId": string,
  "quantity": string,
  "unitPrice": number
}
Fields
merchantProductId

string

Optional. The product ID within the Merchant Center account.

quantity

string (int64 format)

Optional. The number of this item associated with the event.

unitPrice

number

Optional. The unit price excluding tax, shipping, and any transaction level discounts.

CustomVariable

Custom variable for ads conversions.

JSON representation
{
  "variable": string,
  "value": string
}
Fields
variable

string

Optional. The name of the custom variable to set. If the variable is not found for the given destination, it will be ignored.

value

string

Optional. The value to store for the custom variable.

ExperimentalField

Experimental field representing unofficial fields.

JSON representation
{
  "field": string,
  "value": string
}
Fields
field

string

Optional. The name of the field to use.

value

string

Optional. The value the field to set.