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 and server-side conversion tag must use the same Synergy Reference so Daisycon can match and deduplicate both tracking paths.
This guide assumes that your server-side GTM container is already running and that events from your website are being forwarded to it.
On this page
- Choose your setup
- Before you start
- Step 1: Add and configure the Daisycon tags
- Product-level tracking with GA4
- Other tracking types
- Step 2: Create server-side GTM variables
- Step 3: Send the required data to the server container
- 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 server-side GTM and the required transaction data and variables are already available in the server container. Follow Step 1.
- Scenario 2: The required event data reaches the server container, but values needed by the Daisycon tags 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 completed transaction event. Check which transaction and product values are available. If a GA4 purchase event already contains an items array, you can normally use the product-level GA4 tracking option without mapping the individual products manually.
Step 1: Add and configure 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 to create two server-side tags:
- a Page view tag that stores attribution information;
- a Conversion tag that sends completed transactions to Daisycon.
Add the page view tag
Create a 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 logging should be enabled during preview/debugging or 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 a DCI is present or the request contains utm_source=daisycon.
Use a page view trigger so the tag can process incoming landing page information. Make sure the configured DCI parameter is also included in your Daisycon campaign URLs.
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 the server-side event.
- Synergy Reference: select the same persistent reference that is sent by the client-side Daisycon Synergy Tag.
An order ID is commonly used as the Synergy Reference. A persistent cart or checkout ID can also be used when it is available earlier, as long as exactly the same value is used by both tracking paths.
Choose the correct tracking type
| 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 set of values 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 the event is processed by the server-side client, GA4 ecommerce values may be available as top-level event data or inside an ecommerce object. The Daisycon template supports both common structures.
The tag can read:
-
transaction_idorecommerce.transaction_id -
currencyorecommerce.currency -
couponorecommerce.coupon -
itemsorecommerce.items
The configured transaction-level fields in the tag are used as fallback values where applicable. You do not need to map the individual products into separate server-side GTM variables.
A typical server-side purchase event can contain:
{
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
}
]
}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
If the value used for affiliate tracking should differ from the GA4 product price, include Daisycon-specific values on the 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
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 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 value. It can also use the corresponding transaction ID, currency and coupon values.
This option is mainly intended for existing implementations. For new ecommerce implementations, we recommend GA4 ecommerce event data.
Daisycon product array
For custom implementations, select Product-level tracking from Daisycon product array and choose a server-side 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.
| Field | Description |
|---|---|
| Transaction ID | Unique reference for the sale, such as an order or booking number. |
| Synergy Reference | The same persistent reference used by the client-side Daisycon Synergy Tag. |
| 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 the conversion trigger
The conversion tag must fire when the completed transaction reaches the server-side container and the 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 must send the same Synergy Reference used by this conversion tag.
Step 2: Create server-side GTM variables
Create server-side GTM variables for values that are required by the Daisycon tags but are not yet available as variables.
For product-level GA4 tracking, the template reads the product array directly from the event 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.
You also need a variable for the Synergy Reference. In many implementations, the transaction ID can be used for both Transaction ID and Synergy Reference.
For standard transaction tracking, create Event Data variables for the required order values.
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.
{
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, you can send the required order values in another event structure and create server-side GTM variables for them as described in Step 2.
The web container must also have access to the Synergy Reference so the Daisycon Synergy Tag can send the same value.
Testing the conversion tag
Use Preview mode for both your web and server-side GTM containers and perform a test transaction. Check that:
- the server-side Daisycon Page view tag processes the landing page event;
- the DCI is stored when a Daisycon click contains the configured DCI parameter;
- the client-side Daisycon Synergy Tag fires;
- the server-side Daisycon Conversion Tag fires on the correct transaction event;
- the Synergy Reference is identical in the web and server-side tags;
- the transaction ID is correct and unique;
- 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 conversion test, follow our How to test the conversion pixel guide.
After publishing your GTM containers, contact your Daisycon representative so the implementation can be verified.
Conclusion
For most webshops, the simplest server-side setup is to use Product-level tracking from GA4 ecommerce data and trigger the Daisycon Conversion Tag on the purchase event. The Page view tag stores the available attribution data, while the Synergy Tag provides the client-side part of the hybrid setup.
Existing order-level, UA Enhanced Ecommerce and custom product data implementations remain supported. Always inspect the available event data in server-side GTM Preview mode before adding unnecessary variables or custom logic.