---
title: How to send BigCommerce orders to ProfitMetrics using Make.com
description: BigCommerce, make.com, server-side
---

[Skip to content](https://knowledge.profitmetrics.io/send-bigcommerce-orders-to-profitmetrics-using-make#main-content)

[![ProfitMetrics logo black version](https://knowledge.profitmetrics.io/hs-fs/hubfs/pm_logotype_blue.png?width=193&height=28&name=pm_logotype_blue.png)](https://knowledge.profitmetrics.io/?hsLang=en)

Open main navigation

Close main navigation

- [Contact Support](https://knowledge.profitmetrics.io/kb-ticket/new)

[Contact Support](https://knowledge.profitmetrics.io/kb-ticket/new?hsLang=en)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [Knowledge base](https://knowledge.profitmetrics.io/?hsLang=en)
2. [E-commerce Platforms](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en)
3. [BigCommerce](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#bigcommerce)

# How to send BigCommerce orders to ProfitMetrics using Make.com

## This guide walks through importing and configuring a Make.com scenario that sends completed BigCommerce orders to ProfitMetrics for profit and ROAS attribution. By the end, your store will automatically forward order data to ProfitMetrics whenever an order reaches a specified status.

 

#### **How the scenario works**

The Make.com scenario contains four modules that run in sequence:

| Step | What it does |
| --- | --- |
| **1 — Order Status Updated** | BigCommerce webhook trigger fires on any order status change |
| **2 — Fetch Full Order** | Filtered to the target status only. Calls the BigCommerce V2 Orders API with `include=consignments.line_items` to get the full order and product data |
| **3 — Transform (JavaScript)** | Maps BigCommerce order fields into a ProfitMetrics order payload |
| **4 — Send to ProfitMetrics** | HTTP GET request to `https://my.profitmetrics.io/l.php` with the encoded order JSON |

A filter between Module 1 and Module 2 checks the new order status ID. By default, the blueprint filters on status `10` (Completed). Change this value to match your store’s workflow — see [Filter Logic](https://knowledge.profitmetrics.io/send-bigcommerce-orders-to-profitmetrics-using-make#filter-logic) below.

---

#### Prerequisites

Gather the following before you start:

| Item | Where to find it |
| --- | --- |
| **ProfitMetrics Public ID** | ProfitMetrics → Settings → Website → **Public ID** |
| **BigCommerce API credentials** | BigCommerce admin → Settings → API → API Accounts (needs *Orders* read scope) |
| **Make.com account** | [make.com](https://www.make.com/) — the free plan is sufficient for low order volumes |
| **Blueprint file** | The [`blueprint.json`](https://www.claudeusercontent.com/?domain=claude.ai&errorReportingMode=parent&formattedSpreadsheets=true#blueprint) file included at the bottom of this guide |

---

#### **Step 1 — Import the blueprint**

1. In Make.com, go to **Scenarios → Create a new scenario**.
2. Click the **⋯** menu (bottom of the editor) → **Import Blueprint**.
3. Upload the [`blueprint.json`](https://www.claudeusercontent.com/?domain=claude.ai&errorReportingMode=parent&formattedSpreadsheets=true#blueprint) file (see below).
4. All four modules appear on the canvas. Connections will show errors until configured in Step 2.

---

#### **Step 2 — Configure connections**

Each BigCommerce module needs a connection to your store.

### Module 1 — BigCommerce Webhook

Click Module 1 (**Order Status Updated**) and create or select a BigCommerce webhook connection for your target store. Make.com registers the webhook in BigCommerce automatically.

### Module 2 — BigCommerce API

Click Module 2 (**Universal API Call**) and create or select a BigCommerce API connection. This connection needs read access to **Orders**.

---

#### Step 3 — Set your ProfitMetrics Public ID

Click Module 3 (**JavaScript Code**) and locate the **Input** variables section. Change the **PUBLIC\_ID** value from `YOUR_PROFITMETRICS_PUBLIC_ID` to your actual ProfitMetrics Public ID.

Find your Public ID in the ProfitMetrics dashboard under **Settings → Website**.

---

#### **Step 4 — Activate the scenario**

1. Click **Run once** to test with a live order status change, or toggle the scenario **ON**.
2. Set the scheduling to **Immediately** — the scenario is webhook-driven, so no polling interval is needed.

---

#### **Filter logic**

The filter between Module 1 and Module 2 checks `new_status_id` against a single value. The blueprint defaults to `10`.

Common BigCommerce status IDs:

| Status ID | Status name |
| --- | --- |
| **`2`** | Shipped |
| **`5`** | Cancelled |
| **`9`** | Awaiting Fulfillment |
| **`10`** | Completed |
| **`11`** | Awaiting Shipment |

To change the trigger status, click the filter (the dotted line between Module 1 and Module 2), then update the value to the status ID that matches your workflow. For most stores, `10` (Completed) or `9` (Awaiting Fulfillment) are the right choices.

---

#### **Field mapping reference**

The JavaScript module (Module 3) maps BigCommerce order data into the ProfitMetrics order payload. ProfitMetrics hashes any PII (email, name, phone) server-side.

### Core order fields

| ProfitMetrics field | BigCommerce source |
| --- | --- |
| **`id`** | `order.id` (cast to string) |
| **`ts`** | `order.date_created` (converted to Unix timestamp) |
| **`orderEmail`** | `billing_address.email` |
| **`currency`** | `order.currency_code` |
| **`priceTotalExVat`** | `order.total_ex_tax` |
| **`priceTotalInclVat`** | `order.total_inc_tax` |

### Shipping & customer fields

| ProfitMetrics field | BigCommerce source |
| --- | --- |
| **`priceShippingExVat`** | Consignment `cost_ex_tax` (fallback: `order.shipping_cost_ex_tax`) |
| **`shippingCountry`** | Consignment `country_iso2` (fallback: billing address) |
| **`shippingZipcode`** | Consignment `zip` (fallback: billing address) |
| **`shippingMethod`** | Consignment `shipping_method` |
| **`shippingWeight`** | Sum of `weight × quantity` across all line items |
| **`paymentMethod`** | `order.payment_method` |
| **`customerFirstname`** | `billing_address.first_name` |
| **`customerLastname`** | `billing_address.last_name` |
| **`customerPhone`** | `billing_address.phone` (leading `+` stripped) |

### Product line items

| ProfitMetrics field | BigCommerce source |
| --- | --- |
| **`products[].sku`** | `line_item.sku` (items without a SKU are excluded from the payload) |
| **`products[].qty`** | `line_item.quantity` |
| **`products[].priceExVat`** | `line_item.price_ex_tax` |

---

#### **ProfitMetrics API call**

Module 4 sends a GET request to:

```
https://my.profitmetrics.io/l.php?v=3uh&pid={PUBLIC_ID}&o={URL-encoded JSON}
```

| Parameter | Description |
| --- | --- |
| **`v`** | API version — always `3uh` |
| **`pid`** | Your ProfitMetrics Public ID |
| **`o`** | JSON-stringified order payload |

---

#### **Important notes**

**SKU matching:** The `sku` field in the ProfitMetrics payload must match the product identifier used in your ProfitMetrics product feed. Line items without a SKU are excluded from the payload. If your feed uses a different identifier (e.g. variant ID), update the mapping in Module 3.

**Consignment data:** The scenario reads shipping details from BigCommerce consignments via the `include=consignments.line_items` and `consignment_structure=object` query parameters. Both are required — the JavaScript code depends on `consignment_structure=object` to access the shipping data as a structured array. If an order has no consignment data, the code falls back to the billing address for country and zip code.

**Empty fields:** When a value is missing, the code sends an empty string (`""`) as the default. All fields are always included in the payload.

---

#### Testing the integration

1. Place a test order in your BigCommerce store and move it to the status matching your filter (default: Completed).
2. In Make.com, open the scenario and check the execution log. Each module should show a green checkmark.
3. In ProfitMetrics, go to **Orders** and verify the test order appears with the correct totals, products, and shipping data.

---

#### **Troubleshooting**

| Issue | What to check |
| --- | --- |
| **No orders syncing** | Verify the webhook is active in Module 1 and the filter status ID matches your workflow. Check the Make.com execution log for skipped runs. |
| **Missing products** | Confirm both `include=consignments.line_items` and `consignment_structure=object` are present in the Module 2 query parameters. |
| **`401` on BC API call** | Reconnect the BigCommerce API credentials in Module 2. Ensure the API account has **Orders** read scope. |
| **`400` from ProfitMetrics** | Open Module 3 and verify **PUBLIC\_ID** is set correctly. Check the output JSON structure in the execution log. |
| **Missing shipping data** | Some orders may not have consignment data. The code falls back to the billing address — verify the billing address has country and zip fields populated. |
| **Wrong SKU in ProfitMetrics** | The code uses `line_item.sku` and excludes items without a SKU. If your product feed uses a different identifier (e.g. variant ID), update the mapping in Module 3. |

If you run into issues not covered here, contact [support@profitmetrics.io](mailto:support@profitmetrics.io).

---

#### **Make.com blueprint**

Copy the JSON below into a file called `blueprint.json`. Then import it into Make.com via **⋯ → Import Blueprint**.

```
{  "name": "ProfitMetrics - BigCommerce Order Sync",  "flow": [    {      "id": 9,      "module": "bigcommerce:orderStatusUpdated",      "version": 1,      "parameters": {        "__IMTHOOK__": 2430707      },      "mapper": {},      "metadata": {        "designer": {          "x": 0,          "y": 0        },        "restore": {          "parameters": {            "__IMTHOOK__": {              "data": {                "editable": "false"              },              "label": "My Order Status Updated"            }          }        },        "parameters": [          {            "name": "__IMTHOOK__",            "type": "hook:bigcommerce8",            "label": "Webhook",            "required": true          }        ]      }    },    {      "id": 3,      "module": "bigcommerce:universal",      "version": 1,      "parameters": {        "__IMTCONN__": 4473107      },      "filter": {        "name": "",        "conditions": [          [            {              "a": "",              "b": "9",              "o": "text:equal"            }          ]        ]      },      "mapper": {        "qs": [          {            "key": "include",            "value": "consignments.line_items"          },          {            "key": "consignment_structure",            "value": "object"          }        ],        "url": "/v2/orders/",        "method": "GET",        "headers": [          {            "key": "Content-Type",            "value": "application/json"          }        ]      },      "metadata": {        "designer": {          "x": 300,          "y": 0        },        "restore": {          "expect": {            "qs": {              "mode": "chose",              "items": [                null,                null              ]            },            "method": {              "mode": "chose",              "label": "GET"            },            "headers": {              "mode": "chose",              "items": [                null              ]            }          },          "parameters": {            "__IMTCONN__": {              "data": {                "scoped": "true",                "connection": "bigcommerce2"              },              "label": "My BigCommerce Connection"            }          }        },        "parameters": [          {            "name": "__IMTCONN__",            "type": "account:bigcommerce,bigcommerce2",            "label": "Connection",            "required": true          }        ],        "expect": [          {            "name": "hidden",            "type": "hidden"          },          {            "name": "url",            "type": "text",            "label": "URL",            "required": true          },          {            "name": "method",            "type": "select",            "label": "Method",            "required": true,            "validate": {              "enum": [                "GET",                "POST",                "PUT",                "PATCH",                "DELETE"              ]            }          },          {            "name": "headers",            "spec": [              {                "name": "key",                "type": "text",                "label": "Key"              },              {                "name": "value",                "type": "text",                "label": "Value"              }            ],            "type": "array",            "label": "Headers"          },          {            "name": "qs",            "spec": [              {                "name": "key",                "type": "text",                "label": "Key"              },              {                "name": "value",                "type": "text",                "label": "Value"              }            ],            "type": "array",            "label": "Query String"          },          {            "name": "body",            "type": "any",            "label": "Body"          }        ]      }    },    {      "id": 4,      "module": "code:ExecuteCode",      "version": 0,      "parameters": {},      "mapper": {        "input": [          {            "name": "bcOrderRaw",            "value": ""          },          {            "name": "PUBLIC_ID",            "value": "YOUR_PROFITMETRICS_PUBLIC_ID"          }        ],        "language": "javascript",        "inputFormat": "editor",        "dependencies": [],        "codeEditorJavascript": "// Minimal ProfitMetrics payload (no catalog/product API call, single pid)\n// Inputs expected:\n// - input.bcOrderRaw  -> BigCommerce /v2/orders/{id}?include=consignments.line_items&consignment_structure=object (response body)\n// - input.PUBLIC_ID   -> ProfitMetrics pid (single store)\n\nconst order = typeof input.bcOrderRaw === \"string\"\n    ? JSON.parse(input.bcOrderRaw)\n    : input.bcOrderRaw;\n\nif (!order) throw new Error(\"No order found in input.bcOrderRaw\");\n\nconst pid = input.PUBLIC_ID;\nif (!pid) throw new Error(\"Missing input.PUBLIC_ID\");\n\n// Consignments structure with consignment_structure=object:\n// order.consignments.shipping is an array\nconst shipments = Array.isArray(order.consignments?.shipping) ? order.consignments.shipping : [];\n\n// line_items across all shipments\nconst lineItems = shipments.flatMap(s => Array.isArray(s?.line_items) ? s.line_items : []);\n\nconst products = lineItems\n    .filter(li => li?.sku)\n    .map(li => ({\n        sku: String(li.sku),\n        qty: Number(li.quantity ?? 0),\n        priceExVat: Number(li.price_ex_tax ?? li.base_price ?? 0),\n    }));\n\nconst firstShip = shipments[0] || null;\n\n// timestamp from order date\nconst createdMs = Date.parse(order.date_created);\nconst ts = Math.floor((Number.isFinite(createdMs) ? createdMs : Date.now()) / 1000);\n\nconst pmOrder = {\n    id: String(order.id),\n    ts,\n    orderEmail: order.billing_address?.email || \"\",\n    currency: order.currency_code || \"EUR\",\n    priceTotalExVat: Number(order.total_ex_tax ?? 0),\n    priceTotalInclVat: Number(order.total_inc_tax ?? 0),\n    products,\n    shippingCountry: firstShip?.country_iso2 || order.billing_address?.country_iso2 || \"\",\n    shippingZipcode: firstShip?.zip || order.billing_address?.zip || \"\",\n    priceShippingExVat: Number(firstShip?.cost_ex_tax ?? order.shipping_cost_ex_tax ?? 0),\n    shippingMethod: firstShip?.shipping_method || \"\",\n    shippingWeight: lineItems.reduce((sum, li) => sum + (Number(li.weight ?? 0) * Number(li.quantity ?? 1)), 0),\n    paymentMethod: order.payment_method || \"\",\n    // Customer PII - PM hashes server-side\n    customerFirstname: order.billing_address?.first_name || \"\",\n    customerLastname: order.billing_address?.last_name || \"\",\n    customerPhone: (order.billing_address?.phone || \"\").replace(/^\\+/, \"\"),\n};\n\n// Return exactly what HTTP needs\nreturn {\n    pid,\n    v: \"3uh\", // optional convenience; map it or hardcode in HTTP module\n    o: JSON.stringify(pmOrder),\n};\n"      },      "metadata": {        "designer": {          "x": 600,          "y": 0        },        "restore": {          "expect": {            "input": {              "items": [                null,                null              ]            },            "language": {              "mode": "chose",              "label": "JavaScript"            },            "inputFormat": {              "label": "Code editor"            }          }        },        "expect": [          {            "name": "language",            "type": "select",            "label": "Language",            "required": true,            "validate": {              "enum": [                "javascript",                "python"              ]            }          },          {            "name": "input",            "spec": {              "name": "value",              "spec": [                {                  "name": "name",                  "type": "text",                  "label": "Name",                  "required": true,                  "validate": {                    "max": 32,                    "min": 1,                    "pattern": "^[a-zA-Z0-9_]{1,32}$"                  }                },                {                  "name": "value",                  "type": "any",                  "label": "Value"                }              ],              "type": "collection",              "label": "Variable"            },            "type": "array",            "label": "Input"          },          {            "name": "dependencies",            "spec": {              "name": "value",              "type": "text",              "label": "Dependency",              "required": true,              "validate": {                "max": 214,                "min": 1,                "pattern": "^[A-Za-z0-9_@\\./<>\\=\\!~\\^+\\-]{1,214}$"              }            },            "type": "array",            "label": "Additional dependencies (Enterprise plans only)"          },          {            "name": "inputFormat",            "type": "select",            "label": "Input format",            "required": true,            "validate": {              "enum": [                "editor",                "string"              ]            }          },          {            "name": "codeEditorJavascript",            "type": "editor",            "label": "Code",            "required": true          }        ]      }    },    {      "id": 5,      "module": "http:MakeRequest",      "version": 4,      "parameters": {        "tlsType": "",        "proxyKeychain": "",        "authenticationType": "noAuth"      },      "mapper": {        "url": "https://my.profitmetrics.io/l.php",        "method": "get",        "shareCookies": false,        "parseResponse": true,        "allowRedirects": true,        "queryParameters": [          {            "name": "v",            "value": ""          },          {            "name": "pid",            "value": ""          },          {            "name": "o",            "value": ""          }        ],        "stopOnHttpError": true,        "requestCompressedContent": true      },      "metadata": {        "designer": {          "x": 900,          "y": 0        },        "restore": {          "expect": {            "method": {              "mode": "chose",              "label": "GET"            },            "headers": {              "mode": "chose"            },            "contentType": {              "label": "Empty"            },            "shareCookies": {              "mode": "chose"            },            "parseResponse": {              "mode": "chose"            },            "allowRedirects": {              "mode": "chose"            },            "paginationType": {              "label": "Empty"            },            "queryParameters": {              "mode": "chose",              "items": [                null,                null,                null              ]            },            "stopOnHttpError": {              "mode": "chose"            },            "requestCompressedContent": {              "mode": "chose"            }          },          "parameters": {            "tlsType": {              "label": "Empty"            },            "proxyKeychain": {              "label": "Choose a key"            },            "authenticationType": {              "label": "No authenticationUse when no credentials are required for the request."            }          }        },        "parameters": [          {            "name": "authenticationType",            "type": "select",            "label": "Authentication type",            "required": true,            "validate": {              "enum": [                "noAuth",                "apiKey",                "basicAuth",                "oAuth"              ]            }          },          {            "name": "tlsType",            "type": "select",            "label": "Transport layer security (TLS)",            "validate": {              "enum": [                "mTls",                "tls"              ]            }          },          {            "name": "proxyKeychain",            "type": "keychain:proxy",            "label": "Proxy"          }        ],        "expect": [          {            "name": "url",            "type": "url",            "label": "URL",            "required": true          },          {            "name": "method",            "type": "select",            "label": "Method",            "required": true,            "validate": {              "enum": [                "get",                "head",                "post",                "put",                "patch",                "delete",                "options"              ]            }          },          {            "name": "headers",            "spec": {              "name": "value",              "spec": [                {                  "name": "name",                  "type": "text",                  "label": "Name",                  "required": true,                  "validate": {                    "pattern": "^[-!#$%&'*+.^_`|~0-9A-Za-z]+$"                  }                },                {                  "name": "value",                  "type": "text",                  "label": "Value"                }              ],              "type": "collection",              "label": "Header"            },            "type": "array",            "label": "Headers"          },          {            "name": "queryParameters",            "spec": {              "name": "value",              "spec": [                {                  "name": "name",                  "type": "text",                  "label": "Name",                  "required": true                },                {                  "name": "value",                  "type": "text",                  "label": "Value"                }              ],              "type": "collection",              "label": "Parameter"            },            "type": "array",            "label": "Query parameters"          },          {            "name": "contentType",            "type": "select",            "label": "Body content type",            "validate": {              "enum": [                "json",                "multipart",                "urlEncoded",                "custom"              ]            }          },          {            "name": "parseResponse",            "type": "boolean",            "label": "Parse response",            "required": true          },          {            "name": "stopOnHttpError",            "type": "boolean",            "label": "Return error if HTTP request fails",            "required": true          },          {            "name": "timeout",            "type": "uinteger",            "label": "Timeout",            "validate": {              "max": 300,              "min": 1            }          },          {            "name": "allowRedirects",            "type": "boolean",            "label": "Allow redirects",            "required": true          },          {            "name": "shareCookies",            "type": "boolean",            "label": "Share cookies with other HTTP modules",            "required": true          },          {            "name": "requestCompressedContent",            "type": "boolean",            "label": "Request compressed content",            "required": true          },          {            "name": "paginationType",            "type": "select",            "label": "Pagination type",            "validate": {              "enum": [                "offsetBased",                "pageBased",                "urlBased",                "tokenBased"              ]            }          }        ],        "interface": [          {            "name": "data",            "type": "any",            "label": "Data"          },          {            "name": "statusCode",            "type": "number",            "label": "Status Code"          },          {            "name": "headers",            "spec": [              {                "name": "content-length",                "type": "text",                "label": "Content-Length"              },              {                "name": "content-encoding",                "type": "text",                "label": "Content-Encoding"              },              {                "name": "content-type",                "type": "text",                "label": "Content-Type"              },              {                "name": "server",                "type": "text",                "label": "Server"              },              {                "name": "cache-control",                "type": "text",                "label": "Cache-Control"              },              {                "name": "set-cookie",                "spec": {                  "type": "text"                },                "type": "array",                "label": "Set-Cookie"              }            ],            "type": "collection",            "label": "Headers"          }        ]      }    }  ],  "metadata": {    "instant": true,    "version": 1,    "scenario": {      "roundtrips": 1,      "maxErrors": 3,      "autoCommit": true,      "autoCommitTriggerLast": true,      "sequential": false,      "slots": null,      "confidential": false,      "dataloss": false,      "dlq": false,      "freshVariables": false    },    "designer": {      "orphans": []    },    "zone": "eu1.make.com",    "notes": []  }}
```

Save the copied JSON as `blueprint.json` and import it into your Make.com scenario.

After importing, follow Steps 2–4 above to configure your connections, set your Public ID, and activate the scenario.

- [Getting Started](https://knowledge.profitmetrics.io/getting-started?hsLang=en#main-content)

    - [Learn the Basics](https://knowledge.profitmetrics.io/getting-started?hsLang=en#learn-the-basics)
    - [Prepare for Onboarding](https://knowledge.profitmetrics.io/getting-started?hsLang=en#prepare-for-onboarding)
    - [Account Setup](https://knowledge.profitmetrics.io/getting-started?hsLang=en#account-setup)
- [E-commerce Platforms](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#main-content)

    - [Shopify](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#shopify)
    - [WooCommerce](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#woocommerce)
    - [Magento](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#magento)
    - [PrestaShop](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#prestashop)
    - [BigCommerce](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#bigcommerce)
    - [Shopware](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#shopware)
    - [DanDomain & Related](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#dandomain-related)
    - [Universal Integration (Clientside)](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#universal-integration-clientside)
    - [Universal Integration (Server-side Hybrid)](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#universal-integration-server-side-hybrid)
    - [Other Platforms](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#other-platforms)
    - [Developer Documentation](https://knowledge.profitmetrics.io/e-commerce-platforms?hsLang=en#developer-documentation)
- [Ad Channels](https://knowledge.profitmetrics.io/ad-channels?hsLang=en#main-content)

    - [Google Ads](https://knowledge.profitmetrics.io/ad-channels?hsLang=en#google-ads)
    - [Meta (Facebook/Instagram)](https://knowledge.profitmetrics.io/ad-channels?hsLang=en#meta-facebook-instagram)
    - [Microsoft Bing Ads](https://knowledge.profitmetrics.io/ad-channels?hsLang=en#microsoft-bing-ads)
    - [Google Analytics 4](https://knowledge.profitmetrics.io/ad-channels?hsLang=en#google-analytics-4)
    - [Partner-ads](https://knowledge.profitmetrics.io/ad-channels?hsLang=en#partner-ads)
    - [Other Channel Configuration](https://knowledge.profitmetrics.io/ad-channels?hsLang=en#other-channel-configuration)
- [Tracking & Conversion Setup](https://knowledge.profitmetrics.io/tracking-conversion-setup?hsLang=en#main-content)

    - [Overview](https://knowledge.profitmetrics.io/tracking-conversion-setup?hsLang=en#overview)
    - [Conversion Booster for Google Ads](https://knowledge.profitmetrics.io/tracking-conversion-setup?hsLang=en#conversion-booster-for-google-ads)
    - [Conversion Booster for Meta](https://knowledge.profitmetrics.io/tracking-conversion-setup?hsLang=en#conversion-booster-for-meta)
    - [Conversion Booster Custom Pixels](https://knowledge.profitmetrics.io/tracking-conversion-setup?hsLang=en#conversion-booster-custom-pixels)
    - [Enhanced Conversions](https://knowledge.profitmetrics.io/tracking-conversion-setup?hsLang=en#enhanced-conversions)
- [Shopping Booster](https://knowledge.profitmetrics.io/shopping-booster?hsLang=en#main-content)

    - [Overview & Setup](https://knowledge.profitmetrics.io/shopping-booster?hsLang=en#overview-setup)
    - [Supplemental Feeds](https://knowledge.profitmetrics.io/shopping-booster?hsLang=en#supplemental-feeds)
    - [Campaigns & Labels](https://knowledge.profitmetrics.io/shopping-booster?hsLang=en#campaigns-labels)
    - [Troubleshooting](https://knowledge.profitmetrics.io/shopping-booster?hsLang=en#troubleshooting)
- [Product Feed & Costs](https://knowledge.profitmetrics.io/product-feed-costs?hsLang=en#main-content)

    - [Product Feed](https://knowledge.profitmetrics.io/product-feed-costs?hsLang=en#product-feed)
    - [Shipping & Payment Costs](https://knowledge.profitmetrics.io/product-feed-costs?hsLang=en#shipping-payment-costs)
    - [Expenses](https://knowledge.profitmetrics.io/product-feed-costs?hsLang=en#expenses)
- [Dashboard, Orders & Reporting](https://knowledge.profitmetrics.io/dashboard-orders-reporting?hsLang=en#main-content)

    - [Dashboard & Orders](https://knowledge.profitmetrics.io/dashboard-orders-reporting?hsLang=en#dashboard-orders)
    - [Looker Studio](https://knowledge.profitmetrics.io/dashboard-orders-reporting?hsLang=en#looker-studio)
    - [Google BigQuery](https://knowledge.profitmetrics.io/dashboard-orders-reporting?hsLang=en#google-bigquery)
- [Account & Billing](https://knowledge.profitmetrics.io/account-billing?hsLang=en#main-content)

    - [Users & Access](https://knowledge.profitmetrics.io/account-billing?hsLang=en#users-access)
    - [Billing & Invoices](https://knowledge.profitmetrics.io/account-billing?hsLang=en#billing-invoices)
- [Privacy & Consent](https://knowledge.profitmetrics.io/privacy-consent?hsLang=en#main-content)

    - [GDPR](https://knowledge.profitmetrics.io/privacy-consent?hsLang=en#gdpr)
    - [Consent Management Platforms](https://knowledge.profitmetrics.io/privacy-consent?hsLang=en#consent-management-platforms)
    - [Google Consent Mode](https://knowledge.profitmetrics.io/privacy-consent?hsLang=en#google-consent-mode)
- [For Agencies](https://knowledge.profitmetrics.io/for-agencies?hsLang=en#main-content)

    - [Getting Started as an Agency](https://knowledge.profitmetrics.io/for-agencies?hsLang=en#getting-started-as-an-agency)
    - [Agency Certification](https://knowledge.profitmetrics.io/for-agencies?hsLang=en#agency-certification)
- [Shopify](https://knowledge.profitmetrics.io/shopify?hsLang=en)
- [PrestaShop](https://knowledge.profitmetrics.io/prestashop?hsLang=en)
- [Google Ads](https://knowledge.profitmetrics.io/google-ads?hsLang=en#main-content)

    - [troubleshoot](https://knowledge.profitmetrics.io/google-ads?hsLang=en#troubleshoot)
- [Meta (Facebook / Instagram)](https://knowledge.profitmetrics.io/meta-facebook-instagram?hsLang=en)
- [Uncategorized](https://knowledge.profitmetrics.io/uncategorized?hsLang=en)
- [Billing](https://knowledge.profitmetrics.io/billing?hsLang=en)
- [Google Sheets](https://knowledge.profitmetrics.io/google-sheets?hsLang=en)
- [Account](https://knowledge.profitmetrics.io/account?hsLang=en)
- [Ideal Shop](https://knowledge.profitmetrics.io/ideal-shop?hsLang=en)

[![ProfitMetrics logo black version](https://knowledge.profitmetrics.io/hs-fs/hubfs/pm_logotype_blue.png?width=193&height=28&name=pm_logotype_blue.png "ProfitMetrics logo black version")](https://profitmetrics.io)

<https://www.facebook.com/ProfitMetrics/> <https://podcasts.apple.com/> [mailto:support@profitmetrics.io](mailto:support@profitmetrics.io)

Copyright © 2026, ProfitMetrics ApS