AlexaMP

Redirect Affiliate HTML

Jul 17th, 2025
6
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.14 KB | None | 0 0
  1.  
  2. <!DOCTYPE html>
  3. <html lang="id">
  4. <head>
  5. <meta charset="UTF-8" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  7. <title>Redirect TikTok / Fallback</title>
  8. <style>
  9. body {
  10. margin: 0;
  11. height: 100vh;
  12. background-color: #f9f9f9;
  13. display: flex;
  14. align-items: center;
  15. justify-content: center;
  16. flex-direction: column;
  17. font-family: Arial, sans-serif;
  18. cursor: pointer;
  19. }
  20. .spinner {
  21. border: 8px solid #f3f3f3;
  22. border-top: 8px solid #1da1f2;
  23. border-radius: 50%;
  24. width: 60px;
  25. height: 60px;
  26. animation: spin 1s linear infinite;
  27. margin-bottom: 20px;
  28. }
  29. @keyframes spin {
  30. 0% { transform: rotate(0deg); }
  31. 100% { transform: rotate(360deg); }
  32. }
  33. .loading-text {
  34. font-size: 18px;
  35. color: #333;
  36. text-align: center;
  37. padding: 0 20px;
  38. }
  39. </style>
  40. </head>
  41. <body>
  42. <div class="spinner"></div>
  43. <div class="loading-text">Ketuk di mana saja untuk membuka aplikasi TikTok...</div>
  44.  
  45. <script>
  46. const googleAnalyticsId = "G-24B3XJ1HBG";
  47. const tiktokPixelId = "";
  48. const metaPixelId = "";
  49. const bingUetId = "";
  50.  
  51. const tiktokUniversalLink = "https://www.tiktok.com/t/ZSHbUoSkCyof9-V7wfo";
  52. const fallbackLinks = [
  53. "https://www.profitableratecpm.com/jaa2t38j?key=fda8435518f5f6df82b3cd8fd76b8d1f"
  54. ];
  55. const randomFallback = fallbackLinks[Math.floor(Math.random() * fallbackLinks.length)];
  56.  
  57. function isIOS() {
  58. return /iP(hone|od|ad)/i.test(navigator.userAgent);
  59. }
  60.  
  61. function isSafari() {
  62. return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
  63. }
  64.  
  65. function isIPadSafariModern() {
  66. return navigator.userAgent.includes("Macintosh") &&
  67. navigator.maxTouchPoints && navigator.maxTouchPoints > 1;
  68. }
  69.  
  70. function openTikTokOnUserTap() {
  71. let alreadyClicked = false;
  72. const openApp = () => {
  73. if (alreadyClicked) return;
  74. alreadyClicked = true;
  75.  
  76. const isiOS = isIOS() || isIPadSafariModern();
  77.  
  78. if (isiOS && isSafari()) {
  79. // Coba buka universal link dulu
  80. window.location.href = tiktokUniversalLink;
  81. // Coba backup deep link
  82. setTimeout(() => {
  83. window.location.href = "tiktok://";
  84. }, 1000);
  85. } else {
  86. // Android atau selain Safari
  87. const appLink = "tiktok://open?url=" + encodeURIComponent(tiktokUniversalLink);
  88. window.location.href = appLink;
  89.  
  90. // Fallback jika gagal
  91. setTimeout(() => {
  92. const hidden = document.hidden || document.webkitHidden;
  93. if (!hidden) {
  94. window.location.href = randomFallback;
  95. }
  96. }, 1500);
  97.  
  98. document.addEventListener("visibilitychange", () => {
  99. if (document.hidden) clearTimeout();
  100. });
  101. }
  102. };
  103.  
  104. document.body.addEventListener("click", openApp, { once: true });
  105. document.body.addEventListener("touchstart", openApp, { once: true });
  106. }
  107.  
  108. function loadAnalyticsPixels() {
  109. if (googleAnalyticsId) {
  110. const gtagScript = document.createElement('script');
  111. gtagScript.src = `https://www.googletagmanager.com/gtag/js?id=${googleAnalyticsId}`;
  112. gtagScript.async = true;
  113. document.head.appendChild(gtagScript);
  114.  
  115. window.dataLayer = window.dataLayer || [];
  116. function gtag(){dataLayer.push(arguments);}
  117. gtag('js', new Date());
  118. gtag('config', googleAnalyticsId);
  119. }
  120.  
  121. if (tiktokPixelId) {
  122. !function (w, d, t) {
  123. w.TiktokAnalyticsObject = t;
  124. var ttq = w[t] = w[t] || [];
  125. ttq.methods = ["page", "track", "identify", "instances", "debug", "on", "off", "once", "ready", "alias", "group", "enableCookie"];
  126. ttq.setAndDefer = function (t, e) {
  127. t[e] = function () {
  128. t.push([e].concat(Array.prototype.slice.call(arguments, 0)))
  129. }
  130. };
  131. for (var i = 0; i < ttq.methods.length; i++) {
  132. ttq.setAndDefer(ttq, ttq.methods[i])
  133. }
  134. ttq.instance = function (t) {
  135. var e = ttq._i[t] || [];
  136. for (var n = 0; n < ttq.methods.length; n++) {
  137. ttq.setAndDefer(e, ttq.methods[n])
  138. }
  139. return e
  140. };
  141. ttq.load = function (e, n) {
  142. var i = "https://analytics.tiktok.com/i18n/pixel/events.js";
  143. ttq._i = ttq._i || {};
  144. ttq._i[e] = [];
  145. ttq._i[e]._u = i;
  146. ttq._t = ttq._t || {};
  147. ttq._t[e] = +new Date;
  148. ttq._o = ttq._o || {};
  149. ttq._o[e] = n || {};
  150. var o = document.createElement("script");
  151. o.type = "text/javascript";
  152. o.async = true;
  153. o.src = i;
  154. var a = document.getElementsByTagName("script")[0];
  155. a.parentNode.insertBefore(o, a)
  156. };
  157. ttq.load(tiktokPixelId);
  158. ttq.page();
  159. }(window, document, 'ttq');
  160. }
  161.  
  162. if (metaPixelId) {
  163. !function(f,b,e,v,n,t,s){
  164. if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  165. n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  166. if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  167. n.queue=[];t=b.createElement(e);t.async=!0;
  168. t.src=v;s=b.getElementsByTagName(e)[0];
  169. s.parentNode.insertBefore(t,s)
  170. }(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');
  171. fbq('init', metaPixelId);
  172. fbq('track', 'PageView');
  173. }
  174.  
  175. if (bingUetId) {
  176. (function(w,d,t,r,u){
  177. var f,n,i;w[u]=w[u]||[],f=function(){
  178. var o={ti:bingUetId};o.q=w[u];w[u]=new UET(o);w[u].push("pageLoad");
  179. },n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){
  180. var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null);
  181. },i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i);
  182. })(window,document,"script","https://bat.bing.com/bat.js","uetq");
  183. }
  184. }
  185.  
  186. document.addEventListener("DOMContentLoaded", function () {
  187. loadAnalyticsPixels();
  188. openTikTokOnUserTap();
  189. });
  190. </script>
  191. </body>
  192. </html>
Advertisement
Add Comment
Please, Sign In to add comment