1function dataFSPopupClosed(data) { 2 if (data === null) { 3 return; 4 } 5 6 if (typeof data.id !== undefined) { 7 var url = window.location.origin + '/wp-admin/admin-ajax.php'; 8 9 jQuery.post(url, { 10 id: data.id, 11 action: 'fastspring_completed' 12 }, function(response, textStatus, xhr) { 13 // NotifyGoogleAds(1, data.id); 14 }).always(function() { 15 window.location.href = window.location.origin + '/thank-you/?order=' + data.id; 16 }); 17 } 18} 19 20function FSBuyPlan(product, coupon) { 21 fastspring.builder.clean(); 22 23 console.log(`Product: ${product}, Coupon: ${coupon}`); 24 25 if (coupon !== undefined) { 26 fastspring.builder.promo(coupon); 27 } 28 29 fastspring.builder.add(product); 30 fastspring.builder.checkout(); 31} 32 33function NotifyGoogleAds(value, transaction_id, item, item_id) { 34 if (typeof gtag === 'undefined') { 35 return; 36 } 37 38 gtag('event', 'conversion', { 39 'send_to': 'AW-1018791874/-39wCIfmiLQBEMKP5uUD', 40 'value': value, 41 'currency': 'USD', 42 'transaction_id': transaction_id 43 }); 44 45 gtag("event", "purchase", { 46 "transaction_id": transaction_id, 47 "currency": "USD", 48 "value": value, 49 "items": [{ 50 "id": item_id, 51 "name": item, 52 "price": value, 53 "quantity": 1, 54 }] 55 }); 56}
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.