clickio

tv7dias.pt Sapo Tags

Mar 9th, 2026
395
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.67 KB | None | 0 0
  1. Key indicators:
  2.  
  3. Scripts are loaded from the domain js.sapo.pt
  4.  
  5. The div containers carry data-pub-* attributes — this is SAPO CPU's proprietary syntax
  6.  
  7. The Floor Ad has an onclick that calls window.SAPO.CPU.closeFloorad() — a direct reference to the SAPO JS object
  8.  
  9. Style and script element IDs carry the CPU- prefix — this is SAPO's Content Publishing Unit system
  10.  
  11. 1. SAPO CPU loader scripts
  12.  
  13.  
  14. <!-- Prebid.js — Header Bidding, loaded from js.sapo.pt -->
  15. <script id="CPU-HEADERBID-SCRIPT" type="text/javascript"
  16. src="//js.sapo.pt/Projects/CPU/latest/prebid10.17.0.js">
  17. </script>
  18. <!-- Main SAPO ad management script: LazyPub -->
  19. <script src="https://js.sapo.pt/Projects/CPU/latest/lazypub.min.js">
  20. </script>
  21. <!-- Google Publisher Tag (injected by SAPO CPU) -->
  22. <script id="CPU-DOUBLECLICK-SCRIPT" type="text/javascript"
  23. src="https://securepubads.g.doubleclick.net/tag/js/gpt.js">
  24. </script>
  25. <!-- DoubleVerify ad verification (injected by SAPO CPU) -->
  26. <script id="CPU-DV-TAG" type="text/javascript" async="async"
  27. src="https://pub.doubleverify.com/dvtag/33739878/DV1349746/pub.js">
  28. </script>
  29.  
  30.  
  31. <!-- CSS for AppNexus formats — targets [data-pub-formatid] attributes -->
  32. <style id="CPU-APPNEXUS-STYLE">
  33. /* selectors: [data-pub-formatid="Outstream"],
  34. div[data-pub-formatid="Richmedia"],
  35. div[data-pub-formatid="AutoListagem"] */
  36. </style>
  37. <!-- CSS for the Floor Ad format -->
  38. <style id="CPU-DFP-STYLE">
  39. /* selectors: [data-pub-formatid="Floorad"],
  40. [data-pub-formatid="Floorad"] > div,
  41. [data-pub-formatid="Floorad"] > div > div,
  42. [data-pub-formatid="Floorad"] > div > div iframe */
  43. </style>
  44. 2. Ad slots — the common pattern
  45. All slots are <div> elements with data-pub-* attributes. lazypub.min.js scans the DOM for these attributes and initialises the ads:
  46.  
  47. Homepage:
  48.  
  49.  
  50.  
  51. <!-- Richmedia (top-of-page billboard) -->
  52. <div id="hp-billboard" style="min-height:255px !important">
  53. <div id="RichmediaPos1"
  54. data-pub="appNexus"
  55. data-pub-siteid="IMPALA_Tv7Dias"
  56. data-pub-pageid="HP_Homepage"
  57. data-pub-formatid="Richmedia"
  58. data-observer="true"
  59. data-pub-processed="yes"
  60. data-pub-counted="yes">
  61. </div>
  62. </div>
  63. <!-- OOP (Out-Of-Page, hidden slot) -->
  64. <div class="container mt-130 d-none d-lg-block destaques">
  65. <div id="OOPPos1"
  66. data-pub="appNexus"
  67. data-pub-siteid="IMPALA_Tv7Dias"
  68. data-pub-pageid="HP_Homepage"
  69. data-pub-formatid="OOP"
  70. data-observer="true"
  71. data-pub-processed="yes"
  72. data-pub-counted="yes">
  73. </div>
  74. </div>
  75. <!-- MPU (300x250, right sidebar) -->
  76. <div class="col-md-3 mrec-direita add-text-pub">
  77. <div id="MPUPos1"
  78. data-pub="appNexus"
  79. data-pub-siteid="IMPALA_Tv7Dias"
  80. data-pub-pageid="HP_Homepage"
  81. data-pub-formatid="MPU"
  82. data-observer="true">
  83. </div>
  84. </div>
  85. <!-- MPU (300x250, second sidebar) -->
  86. <div class="col-md-3 add-text-pub">
  87. <div id="MPUPos2"
  88. data-pub="appNexus"
  89. data-pub-siteid="IMPALA_Tv7Dias"
  90. data-pub-pageid="HP_Homepage"
  91. data-pub-formatid="MPU"
  92. data-observer="true">
  93. </div>
  94. </div>
  95. <!-- Billboard (wide banner between content sections) -->
  96. <div class="container-fluid add-text-pub text-center">
  97. <div id="BillboardPos1"
  98. data-pub="appNexus"
  99. data-pub-siteid="IMPALA_Tv7Dias"
  100. data-pub-pageid="HP_Homepage"
  101. data-pub-formatid="Billboard"
  102. data-observer="true">
  103. </div>
  104. </div>
  105. <!-- Halfpage (300x600, right column) -->
  106. <div id="mrec" class="d-none d-xl-flex col-xl-3 add-text-pub">
  107. <div id="HalfpagePos1"
  108. data-pub="appNexus"
  109. data-pub-siteid="IMPALA_Tv7Dias"
  110. data-pub-pageid="HP_Homepage"
  111. data-pub-formatid="Halfpage"
  112. data-observer="true">
  113. </div>
  114. </div>
  115. <!-- Leaderboard (728x90, horizontal banner) -->
  116. <div id="hp-leaderboard add-text-pub">
  117. <div id="LeaderboardPos1"
  118. data-pub="appNexus"
  119. data-pub-siteid="IMPALA_Tv7Dias"
  120. data-pub-pageid="HP_Homepage"
  121. data-pub-formatid="Leaderboard"
  122. data-observer="true"
  123. style="text-align:center;">
  124. </div>
  125. </div>
  126. 3. Mobile MPU slots (hidden on desktop)
  127.  
  128.  
  129. <!-- MPUPos3 — mobile only (d-lg-none) -->
  130. <div class="container d-lg-none mrec-home-mobile pub-height text-center">
  131. <div id="MPUPos3" data-pub="appNexus" data-pub-siteid="IMPALA_Tv7Dias"
  132. data-pub-pageid="HP_Homepage" data-pub-formatid="MPU" data-observer="true">
  133. </div>
  134. </div>
  135. <!-- MPUPos4, MPUPos5 — hidden on sm and above -->
  136. <div class="container d-sm-none mrec-home-mobile text-center add-text-pub">
  137. <div id="MPUPos4" data-pub="appNexus" data-pub-siteid="IMPALA_Tv7Dias"
  138. data-pub-pageid="HP_Homepage" data-pub-formatid="MPU" data-observer="true">
  139. </div>
  140. </div>
  141. <!-- MPUPos6 — mobile slot in the lower page section -->
  142. <div class="container d-lg-none mrec-home-mobile text-center add-text-pub">
  143. <div id="MPUPos6" data-pub="appNexus" data-pub-siteid="IMPALA_Tv7Dias"
  144. data-pub-pageid="HP_Homepage" data-pub-formatid="MPU" data-observer="true">
  145. </div>
  146. </div>
  147. 4. Floorad (sticky bottom banner) — special case
  148.  
  149.  
  150. <!-- Parent div itself carries the data-pub attributes -->
  151. <div id="FlooradPos1_parent"
  152. data-pub="appNexus"
  153. data-pub-siteid="IMPALA_Tv7Dias"
  154. data-pub-pageid="HP_Homepage"
  155. data-pub-formatid="Floorad"
  156. data-pub-lazy="false"
  157. data-observer="true"
  158. data-pub-processed="yes"
  159. data-pub-counted="yes">
  160. <!-- Child div — its close button calls window.SAPO.CPU.closeFloorad() -->
  161. <div id="FlooradPos1"
  162. data-pub-counter="true"
  163. data-pub-processed="yes"
  164. style="padding-top:0px;opacity:0;point-event:none;"
  165. onclick="{ window.SAPO.CPU.closeFloorad('#FlooradPos1_parent'); }">
  166. </div>
  167. </div>
  168. 5. SAS slot (SmartAdServer, not AppNexus — still managed by SAPO CPU)
  169.  
  170.  
  171. <!-- data-pub="sas" — SmartAdServer provider, injected directly into <body> -->
  172. <div id="72594Pos1"
  173. data-pub="sas"
  174. data-pub-siteid="214853"
  175. data-pub-pageid="905761"
  176. data-pub-formatid="72594"
  177. data-pub-lazy="false"
  178. data-observer="true"
  179. data-pub-processed="yes"
  180. data-pub-counted="yes">
  181. </div>
  182.  
  183. In summary: SAPO CPU is a platform that scans the DOM for all divs carrying data-pub attributes and automatically initialises ads for them via Google GPT and Prebid.js. The attributes data-pub-siteid="IMPALA_Tv7Dias" and data-pub-pageid="HP_Homepage" are the site and page identifiers within the SAPO system.
  184.  
  185. Article pages (Some tags are on the homepage, this is a list that is only on the article pages):
  186.  
  187. <!-- InContent (native ad inside article body) -->
  188. <div id="content-624762" class="content">
  189. <div id="InContentPos1"
  190. data-pub="appNexus"
  191. data-pub-siteid="IMPALA_Tv7Dias"
  192. data-pub-pageid="ARTICLE_ROS"
  193. data-pub-formatid="InContent"
  194. data-observer="true"
  195. data-pub-processed="yes"
  196. data-pub-counted="yes">
  197. </div>
  198. </div>
  199.  
  200.  
  201.  
  202.  
  203. <!-- Richmedia mobile (second Richmedia slot, mobile-only) -->
  204. <div class="ros-leaderboard d-lg-none after-text">
  205. <div id="RichmediaPos2"
  206. data-pub="appNexus"
  207. data-pub-siteid="IMPALA_Tv7Dias"
  208. data-pub-pageid="ARTICLE_ROS"
  209. data-pub-formatid="Richmedia"
  210. data-observer="true">
  211. </div>
  212. </div>
  213.  
  214.  
  215.  
  216.  
  217. <!-- Halfpage_btf (below-the-fold Halfpage, related content zone) -->
  218. <div class="bottom-pub">
  219. <div id="Halfpage_btfPos1"
  220. data-pub="appNexus"
  221. data-pub-siteid="IMPALA_Tv7Dias"
  222. data-pub-pageid="ARTICLE_ROS"
  223. data-pub-formatid="Halfpage_btf"
  224. data-observer="true"
  225. data-pub-processed="yes"
  226. data-pub-counted="yes">
  227. </div>
  228. </div>
  229.  
  230.  
  231.  
  232.  
  233. <!-- Leaderboard desktop (second Leaderboard slot, desktop-only) -->
  234. <div class="ros-leaderboard d-none d-lg-block">
  235. <div id="LeaderboardPos2"
  236. data-pub="appNexus"
  237. data-pub-siteid="IMPALA_Tv7Dias"
  238. data-pub-pageid="ARTICLE_ROS"
  239. data-pub-formatid="Leaderboard"
  240. data-observer="true">
  241. </div>
  242. </div>
  243.  
  244.  
  245.  
  246.  
  247. <!-- Floorad (sticky floor ad, appended to body) -->
  248. <div id="FlooradPos1_parent"
  249. data-pub="appNexus"
  250. data-pub-siteid="IMPALA_Tv7Dias"
  251. data-pub-pageid="ARTICLE_ROS"
  252. data-pub-formatid="Floorad"
  253. data-observer="true"
  254. data-pub-processed="yes"
  255. data-pub-counted="yes">
  256. </div>
  257.  
  258.  
  259.  
  260.  
  261. <!-- Custom slot 72594 (appended to body) -->
  262. <div id="72594Pos1"
  263. data-pub="appNexus"
  264. data-pub-siteid="IMPALA_Tv7Dias"
  265. data-pub-pageid="ARTICLE_ROS"
  266. data-pub-formatid="72594"
  267. data-observer="true"
  268. data-pub-processed="yes"
  269. data-pub-counted="yes">
  270. </div>
Add Comment
Please, Sign In to add comment