티스토리 뷰
cafe24
/product/detail.html?product_no=11
/product/테스트-상품1/11/category/1/display/2/
상세페이지 url형식이 2가지 그래서 path /product/detail.html|/product/.*/category/.*/display/.*에 OR 줌.
function() {
var productInfo = [{
'id': iProductNo,
'name': product_name,
'price': product_sale_price,
'category': iCategoryNo
}];
return productInfo;
}
product_sale_price 값 없어서 제품 상세가 표시되지 않는 현상. product_price로 넣으니 됨. 배열값 안뜰땐 변수 하나하나 체크해야 할듯.
function() {
var item = {
'item_name': '',
'price': '',
'item_id': '',
'item_brand': 'OPS',
'item_category': ''
};
// product_sale_price, product_price, iProductNo, iCategoryNo 변수는 cafe24에서 제공합니다.
item.item_name = document.querySelector("meta[property='og:title']").content.trim();
item.price = typeof product_sale_price !== 'undefined'? product_sale_price : product_price;
item.item_id = iProductNo;
item.item_category = iCategoryNo
return item;
}
nhn커머스
1 - User ID
고도몰 관리자-디자인-디자인 스킨 레이아웃 설정-outline/_header.html 편집하기
<!-- User ID -->
<script type="text/javascript">
var loginCheck = '{=gd_is_login()}';
if (loginCheck == '1'){
dataLayer = [{
'userId': '{=gSess.memNo}'
}];
}
</script>
<!-- End User ID -->
<head> 뒤, 태그매니저 앞에 User ID 삽입.
태그 매니저 설치 시, head의 가능한 위, body의 시작이라고 표현. head의 title, meta 다음 정도에 넣는 것이 나은듯. body는 바로 삽입.
변수-새로 만들기
이름 : User ID, 변수 유형 : 데이터 영역 변수
데이터 영역 변수 이름 : userId, 데이터 영역 버전 : 버전2
관리-속성-데이터 스트림-스트림 만들기
웹 스트림 세부정보-측정 ID 복사
태그-새로 만들기
이름 : GA4 - Pageview, 태그 유형 Google 애널리틱스: GA4 구성
측정 ID : G-1234567890
필드 이름 : user_id, 값 : {{User ID}}
트리거 : ;All Pages
2- 상품 상세
디자인-상품-상품상세화면(goods/goods_view.html) 맨 밑에
<script type="text/javascript">
dataLayer.push({
'event': 'detail',
'goodsInfo': [{
'item_id': '{goodsView.goodsNo}',
'item_name': '{=goodsView['goodsNm']}',
'price': '{=gd_isset(goodsView['goodsPrice'],0)}'
}]
});
</script>
변수-새로 만들기
이름 : 상품 정보, 변수 유형 : 데이터 영역 변수, 데이터 영역 변수 이름 : goodsInfo, 데이터 영역 버전 : 버전2
태그-새로 만들기
이름 : GA4 - 상품 상세, 태그 유형 : Google 애널리틱스: GA4 이벤트, 구성 태그 : 위에서 생성한 GA4 구성 태그(GA4 - Pageview)
이벤트 이름 : view_item, 이벤트 매개 변수 행 추가 items : {{상품 정보}}, currency : KRW
트리거-새로 만들기
이름 : 이벤트 - 상품 상세, 트리거 유형 : 맞춤 이벤트, 이벤트 이름 : detail, 이 트리거는 다음에서 실행됩니다. : 모든 맞춤 이벤트
3. 장바구니
디자인-상품-상품상세화면(goods/goods_view.html) 맨 밑에
<script type="text/javascript">
var addToCart = function () {
dataLayer.push({
'event': 'addToCart',
'goodsInfo': [{
'item_id': '{goodsView.goodsNo}',
'item_name': '{=goodsView['goodsNm']}',
'price': '{=gd_isset(goodsView['goodsPrice'],0)}',
'quantity': goodsTotalCnt
}]
});
}
태그-새로 만들기
이름 : GA4 - 장바구니, 태그 유형 : Google 애널리틱스: GA4 이벤트, 구성 태그 : GA4 - Pageview
이벤트 이름 : add_to_cart, 이벤트 매개 변수 행 추가 items : {{상품 정보}}, currency : KRW
트리거-새로 만들기
이름 : 이벤트 - 장바구니, 트리거 유형 : 맞춤 이벤트, 이벤트 이름 : addToCart, 이 트리거는 다음에서 실행됩니다. : 모든 맞춤 이벤트
4. 주문서 작성
디자인-주문-주문서 작성/결제(order/order.html) 맨 밑에
<script type="text/javascript">
var goodsInfo = [
<!--{ @ cartInfo }-->
<!--{ @ .value_ }-->
<!--{ @ ..value_ }-->
{
'item_id': '{=...goodsNo}',
'item_name': '{=...goodsNm}',
'quantity': {=...goodsCnt},
'price': {=...price['goodsPrice']}
},
<!--{ / }-->
<!--{ / }-->
<!--{ / }-->
];
dataLayer.push({
'event': 'checkout',
'goodsInfo': goodsInfo
});
</script>
태그-새로 만들기
이름 : GA4 - 주문서 작성, 태그 유형 : Google 애널리틱스: GA4 이벤트, 구성 태그 : GA4 - Pageview
이벤트 이름 : begin_checkout, 이벤트 매개 변수 행 추가 items : {{상품 정보}}, currency : KRW
트리거-새로 만들기
이름 : 이벤트 - 주문서 작성, 트리거 유형 : 맞춤 이벤트, 이벤트 이름 : checkout, 이 트리거는 다음에서 실행됩니다. : 모든 맞춤 이벤트
5. 주문 완료
디자인-주문-주문 완료(order/order_end.html) 맨 밑에
<script type="text/javascript">
var txInfo = {
'transactionId': '{orderInfo.orderNo}',
'totalRevenue': {=orderInfo.settlePrice},
'shippingFee': {=gd_isset(orderInfo.totalDeliveryCharge)},
'firstOrder': '{=orderInfo.firstSaleFl}'
};
var goodsInfo = [
<!--{ @ orderInfo.goods }-->
{
'item_id': '{=.goodsNo}',
'item_name': '{=.goodsNm}',
'quantity': {=.goodsCnt},
'price': {=.goodsPrice}
},
<!--{ / }-->
];
dataLayer.push({
'event': 'purchase',
'txInfo': txInfo,
'goodsInfo': goodsInfo
});
</script>
변수-새로 만들기
이름 : 주문 정보 - 주문 번호, 변수 유형 : 데이터 영역 변수, 데이터 영역 변수 이름 : txInfo.transactionId, 데이터 영역 버전 : 버전2
변수-새로 만들기
이름 : 주문 정보 - 결제 금액, 변수 유형 : 데이터 영역 변수, 데이터 영역 변수 이름 : txInfo.totalRevenue, 데이터 영역 버전 : 버전2
변수-새로 만들기
이름 : 주문 정보 - 배송비, 변수 유형 : 데이터 영역 변수, 데이터 영역 변수 이름 : txInfo.shippingFee, 데이터 영역 버전 : 버전2
변수-새로 만들기
이름 : 주문 정보 - 첫 구매 여부, 변수 유형 : 데이터 영역 변수, 데이터 영역 변수 이름 : txInfo.firstOrder, 데이터 영역 버전 : 버전2
태그-새로 만들기
이름 : GA4 - 주문서 작성, 태그 유형 : Google 애널리틱스: GA4 이벤트, 구성 태그 : GA4 - Pageview
이벤트 이름 : purchase, 이벤트 매개 변수 행 추가 items : {{상품 정보}}, currency : KRW, transaction_id : {{주문 정보 - 주문 번호}}, value : {{주문 정보 - 결제 금액}}, shipping : {{주문 정보 - 배송비}}, first_order : {{주문 정보 - 첫 구매 여부}}
트리거-새로 만들기
이름 : 이벤트 - 주문 완료, 트리거 유형 : 맞춤 이벤트, 이벤트 이름 : purchase, 이 트리거는 다음에서 실행됩니다. : 모든 맞춤 이벤트
첫 구매 여부 항목은 설정을 해야 GA4 이벤트 보고서에서 확인 가능. 모든 이벤트-맞춤 정의 관리-맞춤 측정기준 만들기, 이벤트 매개변수 이름 : first_order, 맞춤 측정기준 이름 : 첫 구매 여부 // 메뉴가 변경된듯
구성-맞춤 정의 맞춤 측정기준 만들기
측정기준 이름 : 첫 구매 여부, 범위 : 이벤트, 이벤트 매개변수 : first_order // 데이터 쌓이는지 확인 필요
가비아 퍼스트몰
통계-구글 애널리틱스-측정 ID 저장
// 메뉴로 지원. 디자인 HTML로 수정은 가능해서 경로 살펴보니 해당경로(_modules/common/html_header.html)를 수정해서 직접삽입도 가능할듯.
'Knowledge' 카테고리의 다른 글
| GMP(Google Marketing Platform, 구글 마케팅 플랫폼) 관련 (0) | 2026.08.05 |
|---|---|
| keepalived.conf (0) | 2026.07.07 |
| haproxy.cfg (0) | 2026.07.07 |
| jquery(제이쿼리) 값 가져오기 (0) | 2026.07.07 |
| javascript(자바스크립트) IP(아이피) get(받기) (0) | 2026.07.07 |