1let wlFCAR = (function() { 2 let domain = null; 3 let pixelId = null; 4 5 function createEvent() { 6 return { 7 event_name: null, 8 user_data: { 9 em: null, 10 ph: null, 11 fn: null, 12 ln: null, 13 db: null, 14 ge: null, 15 ct: null, 16 st: null, 17 zp: null, 18 country: null, 19 external_id: null, 20 addFirstName: function(firstName) { 21 if (this.fn == null){ 22 this.fn = []; 23 } 24 25 this.fn.push(firstName); 26 }, 27 addLastName: function(lastName) { 28 if (this.ln == null){ 29 this.ln = []; 30 } 31 32 this.ln.push(lastName); 33 }, 34 addEmailAddress: function(email) { 35 if (this.em == null){ 36 this.em = []; 37 } 38 39 this.em.push(email); 40 }, 41 addPhoneNumber: function(phoneNumber) { 42 if (this.ph == null){ 43 this.ph = []; 44 } 45 46 this.ph.push(phoneNumber); 47 }, 48 addBirthDay: function(birthday) { 49 if (this.db == null){ 50 this.db = []; 51 } 52 53 this.db.push(birthday); 54 }, 55 addGender: function(gender) { 56 if (this.ge == null){ 57 this.ge = []; 58 } 59 60 this.ge.push(gender); 61 }, 62 addCity: function(city) { 63 if (this.ct == null){ 64 this.ct = []; 65 } 66 67 this.ct.push(city); 68 }, 69 addState: function(state) { 70 if (this.st == null){ 71 this.st = []; 72 } 73 74 this.st.push(state); 75 }, 76 addZipCode: function(zipCode) { 77 if (this.zp == null){ 78 this.zp = []; 79 } 80 81 this.zp.push(zipCode); 82 }, 83 addCountry: function(country) { 84 if (this.country == null){ 85 this.country = []; 86 } 87 88 this.country.push(country); 89 }, 90 addExternalId: function(externalId) { 91 if (this.external_id == null){ 92 this.external_id = []; 93 } 94 95 this.external_id.push(externalId); 96 }, 97 isValid: function() { 98 if (this.em != null && this.em.length > 0) { 99 return true; 100 } else if (this.fn != null && this.fn.length > 0 && this.ln != null && this.ln.length > 0) { 101 return true; 102 } else if (this.ph != null && this.ph.length > 0) { 103 return true; 104 } else { 105 return false; 106 } 107 }, 108 }, 109 custom_data: { 110 content_category: null, 111 content_ids: null, 112 content_name: null, 113 content_type: null, 114 contents: null, 115 currency: null, 116 delivery_category: null, 117 num_items: null, 118 order_id: null, 119 predicted_ltv: null, 120 search_string: null, 121 status: null, 122 value: null, 123 addContent: function(id, quantity, item_price, delivery_category){ 124 if (id != null) { 125 if (this.content_ids == null) { 126 this.content_ids = []; 127 } 128 129 if (this.content_ids.find(i => i == id) == null) { 130 this.content_ids.push(id) 131 } 132 } 133 134 if (this.contents == null) { 135 this.contents = []; 136 } 137 138 this.contents.push({id: id, quantity: quantity, item_price: item_price, delivery_category: delivery_category}); 139 } 140 }, 141 action_source: "website", 142 event_source_url: window.location.href, 143 event_id: null, 144 sendEvent: function() { 145 this.event_time = Math.floor(Date.now() / 1000); 146
147 var url = `/websLINE-FCAR/RelayToWebsline.wlfcar` 148 var xhr = new XMLHttpRequest(); 149 xhr.open("POST", url, true); 150 xhr.setRequestHeader('Content-Type', 'application/json'); 151 xhr.send(JSON.stringify(this)); 152 } 153 } 154 } 155 156 return {domain, pixelId, createEvent}; 157})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.