> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lemrock.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Conversion tracking reference

> Event fields, event IDs, hashing and how to check your setup.

## Event fields

| Field | What to send |
| - | - |
| `type` | always `"contents"` |
| `amount` | the total, in cents: `2599` for €25.99 |
| `currency` | three-letter code, such as `EUR`. Required with `amount` |
| `contents` | the items: `id` (same as your catalog feed), `name`, `quantity`, `amount`, `currency` |

## `event_id`

Your own ID for the event, such as the order number. If the same order is reported twice (a retry, or pixel and server), the same `event_id` makes it count once. If you leave it out, the pixel creates one.

**It must be a string**: `"12345"`, not `12345`. Otherwise the event is not sent.

## Hash email and phone

Send hashes only, never the raw values. Lemrock refuses anything that isn't a SHA-256 hash.

1. Normalize:
   * **Email**: trim spaces, lowercase. `Jane.Doe@Example.com` → `jane.doe@example.com`.
   * **Phone**: digits only, starting with the country code, no `+` or leading zeroes. `+33 6 12 34 56 78` → `33612345678`.
2. Hash with SHA-256 and send 64 lowercase hex characters. `jane.doe@example.com` → `86e0b9e56c17cc4d12387e1949b85053fbe73bc3ce5a1188713a9d300cc6133d`.

## Check your setup

1. **Turn on debug mode.** With GTM, it's on automatically in Preview. With a script, add `debug: true` to `init`. Pixel messages start with `[Lemrock Pixel]` in the browser console.

2. **Simulate an ad click.** Open any page with `?lrclid=lr_clk_0000000000000000000000` added. The console confirms the click token is stored.

3. **Send a test event** from the console. It's checked but not recorded:

   ```js theme={null}
   lemrock(
     "measure",
     "order_created",
     { type: "contents" },
     { event_id: "test-1", validate_only: true },
   );
   ```

   You should see `order_created test-1 sent (validate_only) → 202`.

4. **Trigger a real event**, such as a test order, and check the same line appears without `(validate_only)`.

If something is wrong:

* **Read the console.** Setup mistakes always print a warning, even without debug mode.
* **Make sure your redirects keep** `lrclid` in the URL.

Your Lemrock contact can confirm events are arriving. Send them your pixel ID and the time of your test.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.