//구글 애널리틱스 function googleAnalytics(list, url){ if(fn_is_empty(list)){ return false; } /* * * 구글 애널리틱스 공통 헤더 태그를 복사한 후 웹사이트의 각 페이지 코드에서 요소 바로 다음에 붙여넣으세요. * */ const commonHeaderAt = adScriptCommonHeaderAt(list); if(commonHeaderAt){ const adMediaId = commonHeaderAt.adMediaId; let gtagScript = document.createElement('script'); gtagScript.async = true; gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=' + adMediaId; document.head.appendChild(gtagScript); // gtag 설정 let configScript = document.createElement('script'); configScript.innerHTML = ` window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '` + adMediaId + `'); `; document.head.appendChild(configScript); } //상품 상세 페이지 if(url.includes(selectGoodsDtl)){ const goodsInnb = $('#goodsInnb').val(); const goodsNm = $('#goodsNm').val(); let price = parseInt($('#slepricDscntAmt').val()); //# 상품상세페이지가 로드되면 아래 코드 실행 const goodsDtlFormAt = adScriptGoodsDtlFormAt(list) if(goodsDtlFormAt){ let goodsDtlScript = document.createElement('script') goodsDtlScript.innerHTML=` gtag("event", "view_item", { currency: "KRW", value: ${price}, items: [ { item_id: ${goodsInnb}, item_name: '${goodsNm}', price: ${price}, quantity: 1 } ] }); `; document.head.appendChild(goodsDtlScript); } //# 상품상세페이지에서 장바구니 담기 버튼을 클릭할 때 아래 코드 실행. addEventListner 등 사용 const addCartEventAt = adScriptAddCartEventAt(list); if(addCartEventAt){ addCartStorage(addCartEventAt); } //# 네이버페이 버튼 클릭 시 아래 코드 실행. const npayEventAt = adScriptNpayEventAt(list); if(npayEventAt){ addNpayStorage(npayEventAt); } }//상품 상세 END //장바구니 페이지 if(url.includes(selectSpbk)){ //# 장바구니 페이지가 로드되면 아래 코드 실행. const cartListFormAt = adScriptCartListFormAt(list) if(cartListFormAt){ //JSON PARSE const adScriptGoodsList = JSON.parse($('#adscriptCartGoodsList').val()) // 데이터를 저장할 배열 let productDataArray = []; let totalPrice = 0; if(!fn_is_empty(adScriptGoodsList.goodsList)){ adScriptGoodsList.goodsList.forEach(optn => { // 객체로 저장 const productData = { item_id: optn.goodsInnb, item_name: optn.goodsNm, item_variant: optn.optn, price: optn.subSlepric, quantity: optn.qy }; // 배열에 추가 productDataArray.push(productData); totalPrice += optn.subSlepric }); } let cartListScript = document.createElement('script'); cartListScript.innerHTML= ` gtag("event", "view_cart", { currency: "KRW", value: ${totalPrice}, items: ${JSON.stringify(productDataArray)} }); `; document.head.appendChild(cartListScript); } }//장바구니 페이지 END //주문서 작성 페이지 if(url.includes(selectNmbrPurchsForm) || url.includes(selectMbrPurchsForm)){ //# 주문서 페이지가 로드되면 아래 코드 실행 const purchsFormAt = adScriptPurchsFormAt(list); if(purchsFormAt){ let purchsFormScript = document.createElement('script'); // 총 결재 금액 let price = $('#setleAmtSapn').text().replace(",",""); // 상품정보 배열 let productDataArray = []; if($('#adScriptDeviceTy').val() ==='sopmal'){ //pc일 경우 $('#goodsList tr').each(function(){ // 객체로 저장 let productData1 = { item_id: $(this).find(".goodsInnb").val(), item_name: $(this).find(".cartItem__productTitle").text(), item_variant: $(this).find(".cartItem__productOption").text(), price: $(this).find(".cartItem__afterPrice").children('.comma').text().replace(",",""), quantity: $(this).find(".qy").val() }; // 배열에 추가 productDataArray.push(productData1); }); }else{ // 모바일 일 경우 $('#goodsList .orderInfo__item').each(function(){ // 객체로 저장 let productData1 = { item_id: $(this).find(".goodsInnb").val(), item_name: $(this).find(".cartItem__productTitle").text(), item_variant: $(this).find(".cartItem__productOption").text().replaceAll(' ', '').trim(), price: $(this).find(".cartItem__afterPrice").children('.comma').text().replace(",",""), quantity: $(this).find(".qy").val() }; // 배열에 추가 productDataArray.push(productData1); }); } purchsFormScript.innerHTML= ` gtag("event", "begin_checkout", { currency: "KRW", value: ${price}, //총결제금액 items: ${JSON.stringify(productDataArray)} // 상품정보 }); `; document.head.appendChild(purchsFormScript); } }//주문서 작성 페이지 END //주문 완료 페이지 if(url.includes(selectOrdrCompt)){ //# 주문완료 페이지가 로드되면 아래 코드 실행. const purchsCompleteFormAt = adScriptPurchsCompleteFormAt(list); if(purchsCompleteFormAt){ // // 상품정보 배열 let productDataArray = []; const adscriptVal = $('#adscript').val() const decode = atob(adscriptVal) const adscriptParse = JSON.parse(decode); let price = parseInt(adscriptParse.total.setleAmt) let finalOrderNo = adscriptParse.order.ordrInnb.toString() let purchsComplateFormScript = document.createElement('script'); for(let obj of adscriptParse.goodsList){ let productData = { item_id: obj.goodsInnb.toString(), item_name: obj.goodsNm, item_variant: obj.optnNm, price: parseInt(obj.applyDscntAmt)/obj.ordrQy, quantity: obj.ordrQy }; // 배열에 추가 productDataArray.push(productData); } purchsComplateFormScript.innerHTML= ` gtag("event", "purchase", { transaction_id: '${finalOrderNo}', currency: "KRW", value: ${price}, items: ${JSON.stringify(productDataArray)} // 상품정보 }); `; document.head.appendChild(purchsComplateFormScript); } }//주문 완료 페이지 END //# 취소/환불 요청 페이지에서 취소/환불 요청을 할 경우 아래 코드 실행 const refundReqEventAt = adScriptRefundReqEventAt(list); if(refundReqEventAt){ addReturnReqStorage(refundReqEventAt) } //회원가입 완료 페이지 if(url.includes(selectJoinCompleteR)){ //# 회원가입 완료 페이지 로드되면 아래 코드 실행 const mbrRegstFormAt = adScriptMbrRegstFormAt(list); if(mbrRegstFormAt){ let joinScript = document.createElement('script'); // 회원가입 방법 (예: general, kakao 등) const joinMthCd = $('#joinMthCd').val() joinScript.innerHTML = ` gtag("event", "sign_up", { method: "${joinMthCd}" }); `; document.head.appendChild(joinScript); } } }