> 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/sources/profit-signal/how-to-use-profit-signal.md).

# How to use Profit Signal

Profit Signal sends the contribution margin of each order to your marketing destinations, so your ad platforms can optimize toward profit instead of revenue.

* For **Google Ads**, it changes the conversion value from revenue to profit.
* For **Meta Conversions API**, it adds the profit to each purchase event as `net_revenue` and leaves the order value as revenue.
* For **Google Analytics 4** and **Segment**, it adds a `profit` parameter without changing the reported revenue value.

This guide explains how to enable Profit Signal, how profit values are calculated, and how to use those values to optimize your ads.

## How to enable Profit Signal

{% stepper %}
{% step %}

### Select Profit Signal source

Within the Littledata app, find the Profit Signal source and click **Enable**.

<figure><img src="https://3956158252-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1QhTbrMraNWciQeDvu1b%2Fuploads%2Fgit-blob-852935c2b44875384c44dba3298d33089cda84e9%2Fimage%20(8).png?alt=media" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Configure global margin

After the basic setup, you will be prompted to set your global margin. This is applied to every product on your store and is used to calculate the profit.

<figure><img src="https://3956158252-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1QhTbrMraNWciQeDvu1b%2Fuploads%2Fgit-blob-753b514e978ad8fe8c98b06487dfcdf0168f3560%2Fimage%20(140).png?alt=media" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Product specific margin

Configure margin based on **Product Type**, **Vendor**, or product **Tag**. A product specific margin overwrites the global margin and only the **first match** found on the product is applied.

<figure><img src="https://3956158252-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1QhTbrMraNWciQeDvu1b%2Fuploads%2Fgit-blob-d61e3fb5286f1cba36d1cef8583a2b992033c84f%2Fimage%20(141).png?alt=media" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Turn on for destinations

Pick the connections you want Profit Signal to apply to, then enable it. Only the destinations you select here receive profit values, so you can start with one platform and leave the rest reporting on revenue.

The destination has to be connected first. For Meta, that means an active Meta Conversions API connection.

<figure><img src="https://3956158252-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1QhTbrMraNWciQeDvu1b%2Fuploads%2Fgit-blob-97dfd87ddff36dcde7b6957315a060930c08f301%2Fimage%20(142).png?alt=media" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

## How profit values are calculated

Littledata uses the gross margin you set to calculate the value sent with each order.

The calculation is product-based: Littledata starts from the order's gross revenue, removes shipping, tax, and discounts, and then applies your product margin to what remains to arrive at the profit value.

Where that profit ends up depends on the destination. For Google Ads it replaces the conversion value. For Meta, Google Analytics, and Segment it is sent alongside the untouched revenue value, as `net_revenue` for Meta and as a `profit` parameter for Google Analytics and Segment. For Google Analytics you will need to enable this as a custom metric.

You can change your margin settings at any time. Any orders processed after the change will use the updated configuration for profit-based values.

### Global margin vs per-product margin

You can set a global margin that applies across your catalog, and add category margins for more precise control. Per-product margins override the global margin: if more than one per-product margin could apply, Littledata uses the first matching rule it finds.

## Optimizing ads using gross profit

Once Profit Signal is feeding profit values to your ad platforms, you can let their bidding algorithms optimize toward gross profit rather than top-line revenue. This shifts spend toward orders that are genuinely profitable, instead of high-revenue orders that may carry thin margins.

### Destination comparison

| Destination name   | How profit is sent                           | Revenue still reported |
| ------------------ | -------------------------------------------- | ---------------------- |
| Google Ads         | Replaces the conversion value                | ❌                      |
| Meta Ads           | Added as `net_revenue` on the purchase event | ✅                      |
| Google Analytics 4 | Added as a `profit` parameter                | ✅                      |
| Segment            | Added as a `profit` parameter                | ✅                      |

### Meta Ads

For Meta Conversions API, Profit Signal adds the calculated profit to each purchase event as `net_revenue`. The `value` parameter is left alone and still carries the order revenue, so Meta receives both numbers and you decide which one to bid on.

In Ads Manager, pick **Profit** as your value optimization option and Meta bids on the `net_revenue` we send instead of order revenue. Budget then moves toward the orders that leave the most margin rather than the biggest baskets.

Because revenue keeps flowing in the `value` parameter, turning Profit Signal on does not disturb your existing reporting or your value-based campaigns. You can leave campaigns on standard value optimization, compare the two over a few weeks, and switch when the numbers make the case.

For more on how Littledata sends data to Meta, see How it works: Shopify to Meta Conversions API.

### Google Ads

For Google Ads, Profit Signal switches the reported conversion value from revenue to profit. Pair this with a value-based Smart Bidding strategy such as **Maximize conversion value** or **Target ROAS** so the algorithm optimizes against profit.

With profit as the conversion value, your reported ROAS becomes a return on profit. Campaigns that drive high revenue but low margin will look less attractive, and budget naturally moves toward the products and audiences that generate the most profit.

For more on how Littledata sends data to Google Ads, see How it works: Google Ads.
