> For the complete documentation index, see [llms.txt](https://help.littledata.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.littledata.io/event-editor/field-mappings.md).

# Remap existing events

Littledata already sends every event with optimized defaults for every destination, out of the box. These defaults work well for most stores. You can override the field mappings when they don't fit your setup. You can swap out the source of any editable mapping or add custom parameters on top.

{% hint style="info" %}
You can edit mappings on both standard and [custom events](/event-editor/custom-events.md). Client-side events can only be enabled or disabled, their mappings can't be edited.
{% endhint %}

{% hint style="warning" %}
If Shopify Markets is enabled in Littledata, customizations on a standard event are not market-specific. A change you make applies across all markets.
{% endhint %}

### What you can do with it

You can remap field mappings when the default one doesn't fit your setup:

* **Point a property at a different source.** The value the destination wants is in the payload, just not the field mapped by default. Swap the source so `transaction_id`, `item_id`, or any editable property reads from the field you want.
* **Send data your destination doesn't expect by default.** Add a custom parameter with a destination name you choose, and map it to any source field.
* **Route an exposed metafield to the right property.** Once a custom data source makes a metafield visible, map it into a standard property or a custom parameter here.

### Open the field mappings

{% stepper %}
{% step %}

#### Go to the Events tab

Open the [Events tab](/event-editor/getting-started.md) for the destination you want to customize.
{% endstep %}

{% step %}

#### Edit the event

Click the **three-dot menu** on the event row and select **Edit**.
{% endstep %}

{% step %}

#### Go to Field mappings

Open the **Field mappings** section of the editor.

<figure><img src="/files/OzUX6ceLP5PsiTqo30Rq" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### How the layout works

Mappings are grouped into sections matching the structure your destination expects. For a GA4 event you'll see sections like **items** or **transaction**: these are objects and arrays in the destination's format. You don't need to manage this structure yourself, Littledata maintains it out of the box so the event always arrives in the correct format. The **event** section is the root of the event, where its top-level properties live.

Each mapping reads left to right:

* On the **left** you select which value fills it, picked from Littledata's tracking schema. The [Tracking schema glossary](/event-editor/glossary.md) lists every field in the schema.
* On the **right** is the property name as the destination expects it, for example `item_id` for GA4.

### Picking a source field

Clicking a source opens the schema dropdown, which has three panels:

* **Category**: groups of related fields, like `event`, `properties`, or `customer`. Pick a category to narrow down, or search across all of them.
* **Attribute**: every field in the selected category.
* **Details**: an example value and description of the selected attribute, so you can confirm it's the right field before mapping it.

<figure><img src="/files/C3iyP4QcH52HA2RZUPJr" alt=""><figcaption></figcaption></figure>

Fields you've exposed through [Custom Data Sources](/event-editor/custom-data-sources.md) appear here too, under the category matching their type.

### Mapping types

Not every mapping can be changed, and that's deliberate: some fields are required by the destination in a fixed form.

#### Locked mappings

Required by the destination platform. Both the source and the destination are read-only.

<figure><img src="/files/pJ720fejIYsd8PPqnq2E" alt=""><figcaption></figcaption></figure>

#### Editable standard mappings

These use Littledata's defaults. You can change the source field, but the destination name stays fixed. For example, GA4 maps `properties.id` to `transaction_id` by default, and you could point `transaction_id` at a different source.

<figure><img src="/files/3iUNJdJiKcAWRkGNi0zP" alt=""><figcaption></figcaption></figure>

#### Custom parameters

Fields you add outside the default schema. Each one has a source dropdown and a destination name you choose yourself.

<figure><img src="/files/EGHqW4p0HbyDP8AtPEO7" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Each event has a custom parameter limit. The **Add parameter** button disables when you reach it.
{% endhint %}

After saving, check the [event preview](/event-editor/event-preview.md) to see your mappings applied to a real payload.
