> 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/overview.md).

# Overview

### Overview

The Event Editor is a no-code way to control what Littledata sends to each of your destinations. You can enable or disable events, change field mappings, control when events are sent, and enrich payloads with extra data, all from the Littledata app and without touching your theme or waiting on a developer.

{% hint style="info" %}
The Event Editor is currently in beta and available on all plans. If something doesn't work as expected, check the FAQ and troubleshooting guide or contact support.
{% endhint %}

### What you can do

<figure><img src="https://3956158252-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1QhTbrMraNWciQeDvu1b%2Fuploads%2Fgit-blob-21a873ae55ce2147943e44f7cc29c5ed4b19dedb%2Fevents-editor-2-.webp?alt=media" alt=""><figcaption></figcaption></figure>

The Event Editor runs on five operations: Filter, Derive, Enrich, Reshape, and Control. These operations allow you to customize your events according to what your business requires.

[**Filter**](/event-editor/trigger-conditions.md)\
Add trigger conditions so an event fires only when it matches your criteria. Drop test orders, B2B orders, or subscription renewals before they reach a destination.\ <mark style="color:$info;">Example: Keep staff and test orders out of Meta CAPI so they don't skew your ad optimization.</mark>

[**Derive**](/event-editor/custom-events.md)\
Build a custom event from any standard event, with its own name, conditions, and mappings. The original event stays untouched.\ <mark style="color:$info;">Example: Create an event from</mark> <mark style="color:$info;">`purchase`</mark> <mark style="color:$info;">that fires only for first-time subscription orders, and send it to Google Ads as a separate conversion.</mark>

[**Enrich**](/event-editor/custom-data-sources.md)\
Pull in values from Shopify metafields and other custom data sources to extend what a destination has to work with.\ <mark style="color:$info;">Example: Send product cost so a destination can report on margin, attach a loyalty tier, or pass through a quiz answer.</mark>

[**Remap**](/event-editor/edit-an-event.md)\
Rename or remap event properties with field mappings, so data lands in the field your destination actually reads from..\ <mark style="color:$info;">Example: If your GA4 setup needs</mark> <mark style="color:$info;">`item_brand`</mark> <mark style="color:$info;">populated from vendor instead of the default, change the mapping yourself.</mark>

[**Control**](/event-editor/enable-disable-events.md)\
Enable or disable individual events per destination, independent of whether that event is active elsewhere.\ <mark style="color:$info;">Example: Disable</mark> <mark style="color:$info;">`add_to_cart`</mark> <mark style="color:$info;">for a destination where you only care about conversions.</mark>

Every one of these operations can be checked before it goes live: [Preview every change](/event-editor/event-preview.md) to see the exact payload your destination will receive, with your customizations applied, so there are no surprises in production.

Combine these operations and you have a recipe: a specific fix for a specific data problem.

### How it works

Customizations run in Littledata's server-side pipeline, after we receive the event from Shopify and before we send it to your destination. The original Shopify data is never modified, and removing a customization restores the default behavior immediately.

The Event Editor works with every destination Littledata supports, and customizations are granular: each one belongs to a specific event on a specific connection. If you change a mapping on the `Purchase` event for GA4, that change applies to `Purchase` in GA4 and nowhere else. The same event going to Meta or Klaviyo keeps its default shape.

Custom events follow the same rule. A custom event created under one connection exists only in that connection. If you want the same event in another destination, you create it there as well.

### What's next

* [Get started](/event-editor/getting-started.md) with the Event Editor and a tour of the Events tab
* The [tracking schema glossary](/event-editor/glossary.md) shows the full list of fields and objects you can work with
* Stuck on something? See the [FAQ and troubleshooting guide](/event-editor/event-customiser-faq.md)
