FAQ
Is Somtag working synchronously or asynchronously? Can I switch the modes?
Somtag is working strictly asynchronously. Neither loading the Somtag library nor calling any Somtag command will ever block the rendering of your website. We believe in polite, non-blocking ad delivery, so no synchronous mode is available.
<head>
section of the page. Can I insert the loading snippet also into the <body>
?
My CMS does not support write access to the Of course you can. But the sooner the library starts to load the better, so put
it as close as possible to the beginning of the <body>
tag.
insertAd
again for already requested ad slots in order to replace some ads?
I'm running a single-page-website. Can I just call No, insertAd
has no reload-functionality. Please call the init
command
again to indicate that you are showing a new page within your site. (At this
point you may want to pass the current taxonomy
values for the new page anyway)
After the re-init
call you can run insertAd
for all your ad slots
again.
What is the difference between ad slot and ad products?
An ad slot is a predefined area of the page designated to display advertising. Different ad products can be inserted in an ad slot. See also Ad Slot and Ad Product Overview
How do I know which ad slots I need to enable?
Please contact your product manager at SOM. All available ad slots can be found on Ad Slot and Ad Product Overview. Only enable the slots you want to request. Do not forget to add insertAd
for the ad slots that are enabled.
Is it possible to enable multiple Fullbanners, Rectangles or mobile banners?
Yes, it is. Integrate our performance slots (Ad Slot and Ad Product Overview) according to our documentation.
init
again like when changed the page context?
I have an image gallery in my site and want to replace some ads after a user have clicked throught a few images. Do I have to call re-No, we have a convenient command for that: reloadDisplaySlots
somtag.cmd('reloadDisplaySlots', ['<slotName>', '<slotName>', ...], <customValues>);
['<slotName>', '<slotName>']
Optional array of slotNames to reload. Only slotNames that where previously called with insertAd
can be passed to the call. If no slotNames are passed, every previously loaded ad will be replaced.
<customValues>
is usually an empty object ({}
) except your contact at SOM adtech told you to set a custom value to meet special requirements.
Note that there is no guarantee that every ad slot is replaced with the same ad product like before, i. e. a sitebar
in the skyscraper slot could be replaced with a wideSkyscraper
product.
Is it possible to integrate display and video ads at the same time?
Yes. Just remember to set the corresponding keys in the init
call - e.g.:
somtag.cmd('init', {
// ...
display: { /* ... */ },
video: { /* ... */ }
// ...
});
How should I integrate AudienceProject tracking (inkl. surveys)?
Syncronous AudienceProject-Tag:
<script src="https://sak.userreport.com/71i/launcher.js" async id="userreport-launcher-script"></script>
Asynchronous AudienceProject-Tag:
(function() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://sak.userreport.com/71i/launcher.js";
script.id = "userreport-launcher-script";
script.async = true;
var any = document.getElementsByTagName("script")[0];
any.parentNode.insertBefore(script, any);
})();
Please note: Launcher.js can only be used in the online environment, i.e. desktop/MEW.
AudienceProject surveys are configured via the UserReport interface. This means that it will only be delivered if a custom configuration has been created for a website by AudienceProject.
IP addresses for whitelisting:
The AWS stack for the cookie sync is situated in Frankfurt (eu-central-1 is the AWS identifier), but it piggybacks on Cloudfront as a CDN, which is a global service.
Complete list of IP ranges for Cloudfront is here: https://ip-ranges.amazonaws.com/ip-ranges.json
To be on the safe side please whitelist both
eu-central-1 IPs
35.158.136.0/24
52.57.254.0/24
and
GLOBAL IPs
144.220.0.0/16
52.124.128.0/17
54.230.0.0/16
54.239.128.0/18
52.82.128.0/19
99.84.0.0/16
205.251.192.0/19
54.239.192.0/19
70.132.0.0/18
13.32.0.0/15
13.224.0.0/14
13.35.0.0/16
204.246.172.0/23
204.246.164.0/22
204.246.168.0/22
71.152.0.0/17
216.137.32.0/19
205.251.249.0/24
99.86.0.0/16
52.46.0.0/18
52.84.0.0/15
130.176.0.0/16
64.252.64.0/18
204.246.174.0/23
64.252.128.0/18
205.251.254.0/24
143.204.0.0/16
205.251.252.0/23
204.246.176.0/20
13.249.0.0/16
54.240.128.0/18
205.251.250.0/23
52.222.128.0/17
54.182.0.0/16
54.192.0.0/16
How should I integrate THEADEX tracking?
Core snippet
The main snippet should ideally be placed at the bottom of your page, just before the closing </body>
tag.
<script type="text/javascript">
(function() {
var axd =document.createElement(‘script’); axd.type =‘text/javascript’;
axd.async= 1;
axd.src= ('https:' === document.location.protocol? 'https://' : 'http://')+"dmp.theadex.com/d/:CID/:TID/s/adex.js";
var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(axd, s);
})();
</script>
The structure of the snippet is such that it provides a generic fail-safe mechanism that also works in outdated browsers. The above code will create a script element that will start to asynchronously download the THEADEX library and place it before the first script on the page.
Alternative async snippet
If script execution order is not important to you or if there’s no concern about passing commands or other scripts' relative order before the tracking script runs, then the following may be used
<script src="//dmp.theadex.com/d/:CID/:TID/s/adex.js" asyncdefer>
Note: Please make sure, that your CustomerID
:CID
and AdTagID:TID
are set correctly. You should have recived these together with the code snippet. In case you are in doubt – please contact your publisher manager at SOM.