---
title: "POST /v2/{+parent}/userEvents:collect"
method: POST
path: "/v2/{+parent}/userEvents:collect"
tags: ["projects"]
---

# POST /v2/{+parent}/userEvents:collect

`POST /v2/{+parent}/userEvents:collect`

Writes a single user event from the browser. For larger user event payload over 16 KB, the POST method should be used instead, otherwise a 400 Bad Request error is returned. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly.

## Path parameters

- `parent` string, required

## Request body

- GoogleCloudRetailV2CollectUserEventRequest — Request message for CollectUserEvent method.
  - `userEvent` string — Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.
  - `rawJson` string — An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only.
  - `prebuiltRule` string — The prebuilt rule name that can convert a specific type of raw_json. For example: "ga4_bq" rule for the GA4 user event schema.
  - `uri` string — The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests.
  - `ets` string, int64 — The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/retail.md) · [All operations](https://skmtc.net/google/apis/retail/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/retail/versions/146c67e59640/schema)
