Advertisement
orenchuck

groo gtm write cookie with userData

Jul 19th, 2022 (edited)
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. <script>
  2. (function () {
  3. var cookieName = 'showCampaign';
  4. var expiresTime = 3600 * 1000 * 2;
  5. if (!getCookie(cookieName)) {
  6. getUserInformation();
  7.  
  8. }
  9. function getCookie(name) {
  10. try {
  11. let matches = document.cookie.match(new RegExp(
  12. "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  13. ));
  14. return matches ? decodeURIComponent(encodeURIComponent(matches[1])) : undefined;
  15. } catch (err) { console.log(err) };
  16. }
  17. function writeCookie(key, value, expires) {
  18. var now = new Date();
  19. var time = now.getTime();
  20. time += expires;
  21. now.setTime(time);
  22. var cookieString = key + '=' + value + '; expires=' + now.toUTCString() + ';';
  23. window.document.cookie = cookieString;
  24. return value;
  25. };
  26.  
  27. function utf8_to_b64(str) {
  28. return window.btoa(unescape(encodeURIComponent(str)));
  29. }
  30.  
  31. function getUserInformation() {
  32. var data = new FormData();
  33. data.append("file", "general");
  34. data.append("action", "get_async_user_data");
  35.  
  36. var xhr = new XMLHttpRequest();
  37. xhr.withCredentials = true;
  38.  
  39. xhr.addEventListener("readystatechange", function () {
  40. if (this.readyState === 4) {
  41. var userData = JSON.parse(this.responseText);
  42. if (userData.err) {
  43. console.error(userData.err);
  44. return;
  45. }
  46. if (userData.user_id !== -1) {
  47. writeCookie(cookieName, this.responseText, expiresTime);
  48. }
  49. }
  50. });
  51.  
  52. xhr.open("POST", "https://www.groo.co.il/_ajax/ajax.index.php");
  53. xhr.send(data);
  54. }
  55.  
  56. })();
  57. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement