Using Profit on Ad Spend (POAS) via Server-Side Tagging
Profit on Ad Spend, more commonly known by the abbreviation POAS, provides insight into the profit you achieve per euro spent on advertisements relative to the total profit you make per product. Where traditional calculations such as ROAS (Return on Ad Spend) primarily look at the revenue an advertisement generates, POAS focuses on the actual profit margin. It not only shows how much income a campaign generates but also takes into account the costs of products and other variable expenses, giving you a clearer picture of the true value of your advertising.
Achieving £1 million in revenue with your campaigns sounds appealing. However, if your advertising costs come to £999,999, your campaigns will have only generated £1. In that case, it is therefore wiser to report on how much value a campaign generates relative to the purchase price of the products sold.
How does POAS differ from ROAS and revenue?
The biggest difference between POAS, ROAS and revenue lies in their focus. Revenue looks at the total value of the entire order, ROAS measures how much revenue is generated per euro of advertising costs, while POAS looks further and focuses on profit based on the purchase price of the products sold. Suppose a campaign generates €10,000 in revenue with €2,000 in advertising costs, then the total revenue of €10,000 and a ROAS of 5x might seem good. However, if the products have a low profit margin, the actual profit could be much lower than expected. This is where POAS comes in: it provides insight into how much is truly earned, after deducting costs such as production costs, shipping costs and other overhead.
Why would you want to use POAS in your campaigns?
Using POAS helps to optimise advertising campaigns, as it is not only focused on more sales, but on maximising profit. By using POAS, you can better estimate which campaigns actually contribute to the net result of your webshop. This is especially important if you sell products with different margins. It can happen that a campaign with a high ROAS generates hardly any profit in reality, because the products being promoted have a low margin. POAS ensures that your marketing algorithms are fully focused on promoting products and campaigns that are truly profitable, and not just focused on achieving high turnover and sales figures.
![]()
Which types of web shops is this interesting for?
POAS is particularly interesting for webshops that sell products with different profit margins. Consider retailers who offer both own-brand products and purchased goods, where margins can vary significantly. For these webshops, it is essential to look not only at revenue but especially at which products actually generate profit.
Via AdPage's Server-Side Tagging, this is only possible if you use our DataLayer and webhooks. So, that is possible for Shopify, Magento, WooCommerce and custom sites that have implemented AdPage's DataLayer and webhooks.
How does POAS work?
To get POAS working in your Google Analytics, Google Ads or Meta Ads, you will need to add an extra parameter to your purchase event alongside the ‘value’. This extra parameter will be populated with the POAS value of the order placed.
To populate the extra parameter with the correct data, you need to retrieve the product price and the product cost price for every purchase event. The most sensible way to do this is by working with an XML feed. This is a document that is constantly updated based on the modifications made in a webshop's product feed. This XML feed provides a cost price for each product, enabling the calculation to be made in the server container.
How do you set up POAS?
To set up POAS, follow these steps:
1. Retrieving the XML feed
Generate an XML feed with product information. This can be done, for example, via tools such as Channable, a WooCommerce plugin, or another suitable tool for your webshop. Ensure that the feed contains all necessary data, such as the cost price of products.
2. Linking the DataLayer with the XML feed
Go to the webshop where you want to set up POAS and view the DataLayer. In Google Chrome, you can do this using the DataLayer Checker extension or the Analytics Debugger extension. Search for the item_id in the DataLayer, ensuring it has the same name as in the XML feed. This is important, as this link ensures that the cost price of the products is correctly merged in the webhook.

Check in the XML feed if the cost price of each product (item_id) has been added correctly. It is possible to use a custom label for the cost price, so it is not clear to external platforms such as Google that you are sending the cost price. An example of this is using a custom label such as g:custom_label_2.

3. Data received in Webhook event or in GA4 Purchase event
Open the AdPage Tagging dashboard Go to the ‘Optimisation’ tab and then to ‘Purchase price’. In the first field, enter the URL of the XML feed; in the second field, enter the custom label for the cost price (e.g. g:custom_label_2); and in the third field, enter the item_id. These fields must match the settings in your DataLayer and webhook.

Then you go to your Google Tag Manager Server container and turn on preview mode. In the sGTM container, use the webhook replay functionality, which you can activate from your AdPage container. That is these steps. Or, place a test order to check if the purchase price is being sent to the server container. Look in the logs for `trytagging_purchase` and check if the `purchase_price` variable is populated correctly.

Once this is confirmed, create an event data variable for the purchase_price.

Next, you will create a new variable for the POAS calculation. Set this variable as a calculation function whereby the order value (eCommerce value) is reduced by the purchase_price. This gives the profit per order.

4. Integration into your tracking tools
Add the created POAS variables to your Google Analytics purchase event, your Google Ads purchase tracking (only possible via Google Ads Tag for AdPage), and the Meta Conversion API purchase tag. This way, you can immediately see which campaigns are contributing to your profitability.
For more extensive steps on setting up POAS, you can contact us. Helpdesk article on setting up POAS Follow.
Conclusion
Using POAS in advertising campaigns can offer enormous added value for webshops looking to optimise their profitability. Unlike ROAS and revenue, POAS provides a clear insight into the actual profit generated per euro spent on advertising. This makes it an indispensable opportunity for webshops working with different product margins and advertising channels. Would you like to learn more about how to improve your campaigns with POAS and other data-driven strategies? Then sign up for our webinar and discover how to take your marketing to the next level with the right tools and accurate tracking.
Curious how we can grow together?
Let's get in touch!
We'll review your situation and look at where the opportunities lie.
- We'll look at your current tracking setup together.
- Honest advice for tracking optimisation
- Suitable for agencies and brands with their own webshop