In this instruction you will read how to implement the Daisycon Conversion Pixel with Google Tag Manager (GTM). The official Daisycon Conversion Tag supports both order-level and product-level conversion tracking.
For most webshops, we recommend product-level tracking using GA4 ecommerce data. If your website already sends a standard GA4 purchase event with product information, the Daisycon tag can read this data directly from the current ecommerce data in the web container.
This guide is for browser-side conversion tracking in a web GTM container. If you use Server-Side Google Tag Manager, follow our server-side conversion tracking guide instead.
There are different scenarios for the implementation. Choose your scenario below and follow the relevant steps.
- Scenario 1: You know how to use GTM and the required transaction data is already available. This includes websites with a standard GA4 ecommerce purchase event. Follow Step 1.
- Scenario 2: There is a data layer available, but the required values for order-level tracking are not yet available as GTM variables. Follow Step 1 and Step 2.
- Scenario 3: GTM and the required transaction data still need to be set up. Follow Step 1, Step 2 and Step 3.
Tip before you start
Perform a test purchase in Google Tag Manager Preview mode before configuring the Daisycon tag. Follow the checkout until the transaction is completed.
In Google Tag Manager Tag Assistant you can inspect each page and event in the checkout. This allows you to see which variables and data layer values are available. In particular, check whether a purchase event with an ecommerce object is already available. This will help you choose the correct tracking type, variables and trigger.
Step 1: Add a new Daisycon tag
Go to Templates in the GTM sidebar. Under Tag Templates, click Search Gallery and search for Daisycon Conversion Tag. Open the template and add it to your workspace.
You can also open the template directly in the Google Tag Manager Community Template Gallery.
After adding the template, go to Tags and click New. Select Daisycon Conversion Tag as the tag type.
First configure:
- Matching domain: the Daisycon matching domain assigned to your campaign.
- Campaign ID: your Daisycon campaign ID.
- Tracking type: choose the option that matches the transaction data available on your website.
You can click the question mark next to a field in the template for additional information.
Choose the correct tracking type
The template supports four tracking types:
| Tracking type | When to use it |
|---|---|
| Product-level tracking from GA4 ecommerce data | Recommended for most webshops using a standard GA4 purchase event with ecommerce.items. |
| Product-level tracking from UA Enhanced Ecommerce data | For existing implementations that still use the legacy Universal Analytics Enhanced Ecommerce format. |
| Product-level tracking from Daisycon product array | For custom implementations where a GTM variable provides product data in Daisycon's product format. |
| Standard transaction tracking | For order-level tracking where one amount is sent for the complete transaction instead of individual products. |
Recommended: product-level tracking from GA4 ecommerce data
If your webshop already uses a standard GA4 ecommerce implementation, select Product-level tracking from GA4 ecommerce data.
The template reads the following values directly from the current ecommerce data in the web container:
ecommerce.transaction_idecommerce.currencyecommerce.couponecommerce.items
This means you normally do not need to create separate GTM variables for the transaction ID, currency, coupon or individual products.
A typical GA4 purchase event looks like this:
dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'ORDER-12345',
currency: 'EUR',
coupon: 'SUMMER10',
items: [
{
item_id: 'SKU-001',
item_name: 'Blue Widget',
item_category: 'Fashion',
item_brand: 'Brand A',
price: 8.00,
quantity: 3
},
{
item_id: 'SKU-002',
item_name: 'Red Widget',
item_category: 'Accessories',
item_brand: 'Brand B',
price: 12.50,
quantity: 1
}
]
}
});The Daisycon template automatically converts the products in ecommerce.items to the Daisycon product-level conversion format.
How GA4 product data is used
| GA4 field | Used for |
|---|---|
transaction_id |
Transaction or order ID |
currency |
Transaction currency |
coupon |
Promotion code |
item_id |
Product SKU or identifier |
item_name |
Product name |
item_category |
Product commission code by default |
item_brand |
Product description when available |
quantity |
Product quantity |
price |
Unit price used to calculate the product amount when no Daisycon-specific amount is provided |
By default, the template calculates the Daisycon amount for a product line as price × quantity. The revenue defaults to the same amount.
Using a different amount for Daisycon
The amount used for affiliate tracking does not always have to be identical to the price used in GA4. For example, the commission conditions of a campaign may require a different commissionable amount.
You can add Daisycon-specific values to an individual GA4 product:
-
daisycon_a: total Daisycon amount for the product line -
daisycon_r: Daisycon revenue for the product line
These values take precedence over the amount calculated from price × quantity.
Example:
{
item_id: 'SKU-001',
item_name: 'Blue Widget',
price: 12.10,
quantity: 2,
daisycon_a: 20.00,
daisycon_r: 20.00
}In this example, Daisycon receives 20.00 as the product amount and 20.00 as the product revenue. The GA4 price can remain unchanged.
If daisycon_a is provided without daisycon_r, the revenue defaults to the final Daisycon amount.
Product commission codes
Product-level tracking allows Daisycon to apply different commission groups to individual products. Under Product commission codes, choose how the tag should determine the commission code.
-
Each product's commission code or category: uses the commission code or category available on each product. For GA4 data,
item_categoryis used by default. -
Another property from each product: uses another property from the product object. Enter the property name, for example
item_brand. - Commission code above for every product: applies the tag-level Commission code to all products.
For the first two options, the tag-level Commission code can be used as a fallback when a product does not contain a value.
Product-level fallback behaviour
When product-level tracking is selected, you can choose what happens when the tag cannot build any valid products.
- Fail when no valid products are found: no conversion is sent. This is the default.
- Send standard conversion instead: an order-level conversion is sent without individual product lines.
We recommend using the default fail option while setting up and testing product-level tracking. This makes missing product data easier to detect.
If you intentionally enable the order-level fallback, make sure the required order-level amount and revenue values are also available in the tag where applicable.
Product-level tracking from UA Enhanced Ecommerce
If your website still uses the legacy Universal Analytics Enhanced Ecommerce data layer, select Product-level tracking from UA Enhanced Ecommerce data.
The template reads the products from:
ecommerce.purchase.products
It can also read the transaction information from the existing Enhanced Ecommerce data, including:
ecommerce.purchase.actionField.id-
ecommerce.currencyCodeorecommerce.purchase.actionField.currency ecommerce.purchase.actionField.coupon
This option is mainly intended to support existing implementations. For new ecommerce implementations, we recommend the GA4 ecommerce format.
Product-level tracking from a Daisycon product array
If your product data is not available in GA4 or UA Enhanced Ecommerce format, you can supply a Daisycon product array through a GTM variable.
Select Product-level tracking from Daisycon product array and choose the GTM variable containing the product array.
Example:
[
{
a: 19.99,
r: 19.99,
qty: 1,
sku: 'SKU-001',
cc: 'category-a',
pn: 'Product name',
iv: 'Product description',
e1: 'Optional extra value'
},
{
a: 29.99,
r: 29.99,
qty: 2,
sku: 'SKU-002',
cc: 'category-b',
pn: 'Second product'
}
]The supported Daisycon product properties are:
| Property | Description |
|---|---|
a |
Product amount |
r |
Product revenue |
qty |
Quantity |
sku |
Product identifier |
cc |
Commission code |
pn |
Product name |
iv |
Product description |
e1 to e5
|
Optional additional values |
Standard transaction tracking
Select Standard transaction tracking when you want to track one set of values for the complete transaction rather than individual products.
This is suitable for leads, subscriptions and bookings, but can also be used for webshops where product-level information is not required.
Configure the available GTM variables in the Conversion details section of the tag:
| Field | Required | Description |
|---|---|---|
| Transaction ID | Yes | Unique reference for the sale, such as an order or booking number. |
| Order amount | For ecommerce | The amount over which affiliate commission should be calculated according to the campaign's commission conditions. |
| Order revenue | Recommended | The transaction revenue used for reporting. This can differ from the commissionable amount. |
| Currency code | When applicable | ISO 4217 currency code, for example EUR, GBP or USD. |
| Commission code | When applicable | Used to distinguish between commission groups. |
| Promotion code | Recommended when available | Promotion or coupon code used for the transaction. |
Additional values are available under Descriptions and extras, including the publisher description, internal advertiser description and extra fields 1 to 5.
Custom matching domain
If you use a custom or first-party matching domain, create a GTM Constant variable containing the domain, for example:
d.example.com
You can then select this variable in the Matching domain field of the Daisycon tag.
Add a trigger
After configuring the tag, add a trigger that fires when the transaction has been completed and the required transaction data is available.
For websites using a GA4 ecommerce implementation, a Custom Event trigger on the purchase event is usually the preferred option.
For example:
Event name: purchase
You can also use a Page View trigger on the Thank You or Success page, such as DOM Ready or Window Loaded. The correct trigger depends on when your website makes the transaction information available.
Make sure the Daisycon tag fires only after a successful transaction and at a moment when the transaction data is available.
Save the tag and trigger. Use GTM Preview mode to test the setup before publishing your workspace.
Step 2: Create GTM variables
This step mainly applies to standard order-level tracking or custom setups where transaction values need to be selected as GTM variables.
If you selected Product-level tracking from GA4 ecommerce data and the standard ecommerce values are already present in the data layer, you normally do not need to create GTM variables for the transaction ID, currency, coupon or products. The template reads these values directly from the current ecommerce data in the web container.
For standard transaction tracking, check whether the required variables are already available in your GTM workspace. If a value exists in the data layer but not yet as a GTM variable, create a Data Layer Variable for it.
For example, if your data layer contains:
{
order: {
id: '12345',
amount: 49.95,
revenue: 59.95,
currency: 'EUR'
}
}you could create Data Layer Variables for:
order.idorder.amountorder.revenueorder.currency
Select these variables in the corresponding fields of the Daisycon Conversion Tag.
Step 3: Create or extend the data layer
If the required transaction data is not yet available in Google Tag Manager, your website needs to make it available through the data layer.
For webshops, we recommend implementing the standard GA4 ecommerce purchase format where possible. This format can be used by both GA4 and the Daisycon Conversion Tag and avoids creating a Daisycon-specific transaction structure only for affiliate tracking.
A basic GA4 example is:
dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'ORDER-12345',
currency: 'EUR',
items: [
{
item_id: 'SKU-001',
item_name: 'Product name',
item_category: 'Category A',
price: 19.99,
quantity: 1
}
]
}
});If you use standard order-level tracking instead, you can also expose your existing order data in another data layer structure and create GTM variables for the required values as described in Step 2.
The data must be available before or at the same event on which the Daisycon Conversion Tag fires.
Testing the conversion pixel
When the Daisycon tag is implemented in Google Tag Manager, always test the complete tracking setup before going live.
Use GTM Preview mode and perform a test transaction. Check that:
- the Daisycon Conversion Tag fires at the correct event or page;
- the transaction ID is correct and unique;
- the expected currency and promotion code are available;
- for order-level tracking, the correct order amount and revenue are sent;
- for product-level tracking, all expected products, quantities and amounts are included;
- the correct commission codes are used when different commission groups apply;
-
daisycon_aanddaisycon_rcontain the expected values if you use them to override GA4 values.
For a complete tracking test, follow our How to test the conversion pixel guide.
After publishing your GTM workspace, contact your Daisycon representative so the implementation can be verified.
When should I use a Custom HTML implementation?
Older versions of this guide recommended a Custom HTML tag for product-level tracking. This is no longer necessary for standard product-level implementations. The current Daisycon Conversion Tag supports GA4 ecommerce data, legacy UA Enhanced Ecommerce and Daisycon product arrays directly.
If your setup uses Server-Side Google Tag Manager, use the Daisycon server-side template instead of recreating the conversion request with Custom HTML or a custom server-side tag.
A custom implementation may still be useful for unusual tracking requirements that are not covered by the template. Contact Daisycon if you are unsure which implementation method fits your setup.
Conclusion
If you already have a standard GA4 ecommerce purchase event in your web GTM container, the easiest setup is to add the Daisycon Conversion Tag, select Product-level tracking from GA4 ecommerce data and trigger it on the purchase event.
If you do not have product data, use Standard transaction tracking to send one order-level conversion. Existing UA Enhanced Ecommerce and custom product data implementations can use the other product-level modes without replacing the complete data layer.
If you use Server-Side Google Tag Manager, use the Daisycon server-side conversion setup instead of this browser-side implementation.
Always check the available transaction data in GTM Preview mode first. In many cases, the information needed for Daisycon tracking is already available and only the tag and trigger need to be configured.