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 use this product data directly.
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.
On this page
- Choose your setup
- Before you start
- Step 1: Add and configure the Daisycon tag
- Product-level tracking with GA4
- Other tracking types
- Step 2: Create GTM variables
- Step 3: Create or extend the data layer
- Test the implementation
Choose your setup
There are different scenarios for the implementation. Choose the scenario that best matches your current setup:
- Scenario 1: You know how to use GTM and the required transaction data and variables are 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 transaction values 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 the available variables and data layer values. 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 and configure the 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.
If your campaign uses a custom or first-party matching domain, create a GTM Constant variable containing the domain, for example d.example.com, and select this variable in the Matching domain field.
Choose the correct tracking type
| 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 set of values 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 can read the following values from the current GA4 ecommerce data:
ecommerce.transaction_idecommerce.currencyecommerce.couponecommerce.items
The configured transaction-level fields in the tag are used as fallback values where applicable. You do not need to convert ecommerce.items to the Daisycon product format or create separate GTM variables for each individual product.
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
If the value used for affiliate tracking should differ from the GA4 product price, you can add Daisycon-specific values to an individual 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.
{
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 revenue. If daisycon_a is provided without daisycon_r, the revenue defaults to the final Daisycon amount.
Product commission codes
Product-level tracking can apply different commission groups to individual products. Under Product commission codes, choose how the commission code should be determined:
-
Each product's commission code or category: for GA4 data,
item_categoryis used by default. -
Another property from each product: enter another product property, 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
If the tag cannot build any valid products, choose whether it should:
- 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.
Other product-level tracking types
UA Enhanced Ecommerce
If your website still uses legacy Universal Analytics Enhanced Ecommerce data, select Product-level tracking from UA Enhanced Ecommerce data.
The template reads products from ecommerce.purchase.products and can also use the existing transaction ID, currency and coupon values from the Enhanced Ecommerce purchase data.
This option is mainly intended for existing implementations. For new ecommerce implementations, we recommend the GA4 ecommerce format.
Daisycon product array
For custom ecommerce implementations, select Product-level tracking from Daisycon product array and choose a GTM variable containing the product array.
[
{
a: 19.99,
r: 19.99,
qty: 1,
sku: 'SKU-001',
cc: 'category-a',
pn: 'Product name',
iv: 'Product description'
}
]Supported product properties are a, r, qty, sku, cc, pn, iv and e1 to e5.
Standard transaction tracking
Select Standard transaction tracking when you want to send 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.
| Field | Description |
|---|---|
| Transaction ID | Unique reference for the sale, such as an order or booking number. |
| Order amount | The amount over which affiliate commission should be calculated according to the campaign's commission conditions. |
| Order revenue | The transaction revenue used for reporting. This can differ from the commissionable amount. |
| Currency code | ISO 4217 currency code, for example EUR, GBP or USD. |
| Commission code | Used to distinguish between commission groups when applicable. |
| Promotion code | Promotion or coupon code used for the transaction when available. |
Add a trigger
Add a trigger that fires when the transaction has been completed and the required transaction data is available.
For GA4 ecommerce implementations, a Custom Event trigger on the purchase event is usually the preferred option.
You can also use a Page View, DOM Ready or Window Loaded trigger on the Thank You or Success page if the transaction data is available at that point.
Make sure the Daisycon tag fires only after a successful transaction and when the required transaction data is available.
Step 2: Create GTM variables
Create GTM variables for values that are required by the tag but are not yet available as variables in your workspace.
For product-level GA4 tracking, the template reads the product array directly from the ecommerce data. You therefore do not need to create separate variables for every product field. Transaction-level variables configured in the tag can be used as fallback values.
For standard transaction tracking, create Data Layer Variables for the required order values.
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.id, order.amount, order.revenue and order.currency.
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 allows the same ecommerce data to be used for GA4 and Daisycon product-level tracking.
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, you can expose the required order values in another data layer structure and create GTM variables for them as described in Step 2.
Testing the conversion pixel
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.
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 a custom tag.
Contact Daisycon if your requirements cannot be handled by one of the supported tracking types.
Conclusion
For most webshops, the simplest setup is to use Product-level tracking from GA4 ecommerce data and trigger the Daisycon Conversion Tag on the purchase event. Existing order-level, UA Enhanced Ecommerce and custom product data implementations remain supported.
Always inspect the available transaction data in GTM Preview mode first. In many cases, most of the information required for Daisycon tracking is already available.