In this instruction you will read how to implement Daisycon conversion tracking with Server-Side Google Tag Manager (sGTM). The official Daisycon Conversion Tag Server-side supports both order-level and product-level conversion tracking.
For most webshops, we recommend product-level tracking using GA4 ecommerce event data. If your server-side container already receives a standard GA4 purchase event with product information, the Daisycon tag can use this data directly.
This server-side setup requires the Daisycon Synergy Tag in your web GTM container. The Synergy Tag acts as the client-side fallback for the hybrid setup and sends the same Synergy Reference as the server-side conversion tag. Daisycon uses this shared reference to match and deduplicate both tracking paths.
Before configuring the server-side conversion tag, make sure the Daisycon Synergy Tag is implemented in your web container.
This guide assumes that your server-side GTM container is already running and that events from your website are being forwarded to it.
There are different scenarios for the implementation. Choose your scenario below and follow the relevant steps.
- Scenario 1: You know how to use server-side GTM and the required transaction data is already available in the server container. This includes setups where a standard GA4 purchase event with product data is already forwarded to ssGTM. Follow Step 1.
- Scenario 2: The required event data reaches the server container, but values for order-level or custom tracking are not yet available as GTM variables. Follow Step 1 and Step 2.
- Scenario 3: The required transaction data is not yet being sent to the server container. Follow Step 1, Step 2 and Step 3.
Tip before you start
Perform a test purchase using Preview mode for both your web and server-side GTM containers before configuring the Daisycon tags.
In the server-side Tag Assistant, inspect the event that represents the completed transaction. Check which event data is available, in particular the transaction ID, currency and product information. If a GA4 purchase event already contains an items array, you can normally use the product-level GA4 tracking option without creating separate variables for every product.
Step 1: Add the Daisycon tags
Go to Templates in your server-side GTM container. Search the Community Template Gallery for Daisycon Conversion Tag Server-side (Synergy/Hybrid) and add the template to your workspace.
The same template is used for two server-side tags:
- a Page view tag, which stores attribution information;
- a Conversion tag, which sends completed transactions to Daisycon.
Add the page view tag
Create a new tag using the Daisycon server-side template and select Page view as the Event type.
Configure:
-
DCI parameter name: normally
dci. -
Cookie domain: your top-level website domain, for example
.example.com. - Log type: choose whether the tag should log information during preview/debugging or during normal operation.
The page view tag checks the landing page URL for the Daisycon Click ID (DCI) and stores it in a first-party cookie. It can also store the Google gclid when the request can be linked to a Daisycon visit.
The tag should fire on page views so that attribution data is stored when a visitor arrives through a Daisycon publisher link.
Make sure the DCI parameter configured in the tag is also included in the campaign URLs. Your Daisycon contact can configure this for your campaign.
Add the conversion tag
Create another tag using the same template and select Conversion as the Event type.
First configure:
- Campaign ID: your Daisycon campaign ID.
- Tracking type: choose the option that matches the transaction data available in your server-side event.
- Synergy Reference: a unique reference for the transaction. Use the same value in the client-side Daisycon Synergy Tag.
The Synergy Reference is normally your transaction or order ID. If another persistent identifier is available earlier in the customer journey, this can also be used as long as exactly the same value is sent by both tags.
The client-side Synergy Tag is configured separately in your web GTM container. Follow our Daisycon Synergy Tag implementation guide and use the same Synergy Reference variable.
Choose the correct tracking type
The server-side template supports the same four conversion tracking types as the Daisycon web GTM template:
| Tracking type | When to use it |
|---|---|
| Product-level tracking from GA4 ecommerce data | Recommended for most webshops when the server-side purchase event contains a GA4 product items array. |
| Product-level tracking from UA Enhanced Ecommerce data | For existing implementations that still forward legacy Universal Analytics Enhanced Ecommerce data. |
| Product-level tracking from Daisycon product array | For custom implementations where a server-side 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 server-side container receives standard GA4 ecommerce data, select Product-level tracking from GA4 ecommerce data.
Depending on how your events are forwarded and processed by the server-side client, the GA4 fields can be available as top-level event data or inside an ecommerce object. The Daisycon template supports both common structures.
The tag can automatically read:
-
transaction_idorecommerce.transaction_id -
currencyorecommerce.currency -
couponorecommerce.coupon -
itemsorecommerce.items
This means you normally do not need to create separate server-side GTM variables for the transaction ID, currency, coupon or individual products.
A typical server-side GA4 purchase event can contain event data such as:
{
event_name: 'purchase',
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 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 include Daisycon-specific values on 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.
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 original 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 variables are also configured where applicable.
Product-level tracking from UA Enhanced Ecommerce
If your server-side event still contains legacy Universal Analytics Enhanced Ecommerce data, select Product-level tracking from UA Enhanced Ecommerce data.
The template can read products from:
ecommerce.purchase.products
or from a top-level:
products
It can also read the transaction ID, currency and coupon from the corresponding legacy ecommerce fields when available.
This option is mainly intended to support existing implementations. For new ecommerce implementations, we recommend GA4 ecommerce event data.
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 server-side 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 server-side 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. |
| Synergy Reference | Yes | Unique reference shared with the client-side Daisycon Synergy Tag for hybrid attribution and matching. |
| 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.
Add the conversion trigger
The conversion tag must fire when the completed transaction reaches the server-side container and all required transaction data is available.
For GA4 ecommerce implementations, this will normally be the incoming purchase event. Create a trigger that matches this event and attach it to the Daisycon conversion tag.
The client-side Synergy Tag should fire for the same completed transaction and send the same Synergy Reference.
Make sure both Daisycon tags use exactly the same Synergy Reference for a transaction.
Save your tags and triggers and use Preview mode to test the complete setup before publishing your server-side container.
Step 2: Create server-side 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 server-side event data, you normally do not need to create separate GTM variables for the transaction ID, currency, coupon or products. The template reads these values directly.
You will still need a variable for the Synergy Reference. In most implementations, the same transaction ID variable can be used for both Transaction ID and Synergy Reference.
For standard transaction tracking, create Event Data variables for values that are available in the incoming event but are not yet available as GTM variables.
For example, if the server-side event contains:
{
transaction_id: 'ORDER-12345',
value: 49.95,
revenue: 59.95,
currency: 'EUR'
}you can create Event Data variables for:
transaction_idvaluerevenuecurrency
Select these variables in the corresponding fields of the Daisycon Conversion Tag.
Step 3: Send the required data to the server container
If the required transaction data is not available in the server-side event, it first needs to be sent from your website or backend to your tagging server.
For webshops, we recommend forwarding standard GA4 ecommerce purchase data where possible. This allows the same ecommerce structure to be used for analytics and Daisycon product-level tracking.
The server-side event should contain at least a unique transaction ID and, for product-level tracking, an array of products with valid price or Daisycon amount information.
A typical GA4 purchase event arriving in the server container could contain:
{
event_name: 'purchase',
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 send the order values in another event structure and create server-side GTM variables for them as described in Step 2.
The client-side web container must also have access to the Synergy Reference so the Daisycon Synergy Tag can send the same reference used by the server-side conversion tag.
Testing the conversion tag
Always test the complete hybrid tracking setup before going live.
Use Preview mode for both your web GTM container and server-side GTM container and perform a test transaction. Check that:
- the server-side Daisycon Page view tag fires when the landing page information reaches the server container;
- the DCI is stored when a Daisycon click contains the configured DCI parameter;
- the client-side Daisycon Synergy Tag fires for the transaction;
- the server-side Daisycon Conversion Tag fires on the correct conversion event;
- the Synergy Reference is identical in the client-side and server-side tags;
- 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 conversion test, follow our How to test the conversion pixel guide.
After publishing both GTM containers, contact your Daisycon representative so the implementation can be verified.
Conclusion
If your server-side container already receives a standard GA4 ecommerce purchase event, the easiest setup is to add the Daisycon Page view and Conversion tags, select Product-level tracking from GA4 ecommerce data and trigger the conversion tag on the purchase event.
Use the Daisycon Synergy Tag in the web container with the same Synergy Reference as the server-side conversion tag. The server-side setup can then use the available DCI or gclid together with the Synergy Reference for attribution.
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 event structure.
Always check the available event data in server-side GTM Preview mode first. In many cases, the transaction information needed for Daisycon tracking is already available and only the Daisycon tags, variables and triggers need to be configured.