LogoLogo
NHN커머스 마케팅 홈상담 신청
  • 마케팅 알아보기
    • NHN커머스 마케팅
  • GODOMALL ADS SCRIPT
    • 네이버 신규 스크립트 (wcs.trans version)
    • 메타(Facebook&Instagram) 픽셀
    • 메타 카탈로그 등록 방법
    • 구글애즈 전환 스크립트 설치 매뉴얼
    • 카카오 스크립트
    • 크리테오
    • 타겟팅게이츠 (Targeting Gates)
    • 모비온
    • 🎵 틱톡
    • 🥕당근 전환 추적 코드
  • shop by Ads Script
    • 샵바이 스크립트 설정 가이드
    • 샵바이 쇼핑몰 구축 포트폴리오
    • 샵바이 광고 스크립트
      • 카카오
      • 네이버 광고 스크립트
      • 메타 픽셀
      • 구글애즈
      • 구글 애널리틱스
      • 틱톡 픽셀
      • 타불라 픽셀
      • ADN
      • 카카오 픽셀, 크리테오, 타게팅게이츠
      • 모비온
      • 크리테오
  • 마케팅 가이드
    • SEO로 내 쇼핑몰 검색엔진에 노출하기
      • 검색 엔진별 쇼핑몰(사이트) 소유권 인증 방법
      • NHN커머스 SEO 문서 모음
      • 콘텐츠(Contents) SEO
      • 오프 사이트(Off-Site) SEO
      • 온 사이트(On-Site) SEO
      • 테크니컬(Technical) SEO
      • 로컬(Local) SEO
      • 키워드의 중요성
      • 로봇텍스트(robots.txt)
    • 고도몰 관리자에서 SEO 설정하기
    • 네이버 SEO 설정
      • 봇 접근 허용하기
      • 도메인 소유권 등록하기
      • 사이트맵 만들고 저장하기
      • 서치어드바이저 검사 진행
    • 구글 SEO 설정
      • 구글 서치콘솔에서 소유권 확인하기
      • 사이트맵 제출하기
    • 다음 SEO 설정
      • 사이트 등록하기
    • 구글 쇼핑 광고
      • 구글 쇼핑피드 등록 매뉴얼
    • 네이버페이
      • 시스템 연동 방법
      • 네이버페이 결제시 상품별 할인가 연동 설정 안내드립니다. (고도몰 솔루션)
      • 가입 승인 후 서비스 상품/시스템 연동 방법 - 고도몰, e나무
      • 주문 처리 FAQ (고도몰)
      • 주문 처리 FAQ (e나무)
      • 필독! 고객확인제도 관련 안내
    • 카카오 모먼트
  • 마케팅 채널 유형
    • 검색마케팅
    • 콘텐츠 마케팅
    • CRM 마케팅
    • 바이럴 마케팅
    • 타겟마케팅
  • FAQ
    • 검색 엔진, 쇼핑 입점 등
      • 다음 쇼핑
      • 네이버 페이
      • 네이버 쇼핑
      • 네이버 검색
  • 마케팅 소개서
    • 포털 광고
    • 배너 광고
    • 입점 광고
    • SNS 마케팅
    • You Tube
    • 라이브커머스
    • 모바일 앱광고
  • 마케팅 인사이트
    • 부스터
      • [25년] NHN COMMERCE 마케팅 패키지
      • [25년] 구글 광고비 최대 180만원 지원 프로모션
      • [25년] NHN COMMERCE X 아프리카TV 미디어커머스
      • [25년] 마케팅 프로모션 모음 Zip
      • [25년] 짧아야 산다! '숏폼마케팅패키지'
    • 구글
      • Google 판매자 센터 입점 전 필수 체크 사항
      • Google 쇼핑 광고 이해하기
      • Google 판매자 센터 입점하기
      • Google 쇼핑 탭 노출은 '무료'... 그 성공적인 사례들
    • 마케팅 성공사례
      • 성수기 매출 극대화 및 비수기 대응 마케팅 성공사례
      • 브랜딩 인지도 강화를 통한 성공사례
      • 신규 쇼핑몰 성공 사례
      • iOS14.5 업데이트 대응 페이스북 광고 성공사례
    • 페이스북
      • 고도몰 페이스북 도메인 인증 - 메타 태그 인증 방식 알아보기
      • 고도몰 페이스북 광고 설정 기능(FBE) 알아보기
      • FBE 설정 해제/변경 방법
    • 기타
      • 잡은 고객을 놓치지 않는 방법
      • '광고대행사' 어디까지 알고 계신가요?
      • '숏폼' 콘텐츠 마케팅에 대해서
      • 구매전환 제대로 일어나고 있나요?
      • 상세페이지 제작 팁
      • 리타게팅 광고 주요 매체
      • 구매를 부르는 리타게팅
  • 엔마레터
    • 마케팅TIP - 숏폼마케팅하고 구매건수 폭발한 썰
    • 마케팅TIP - 주말에도 매출 UP! 인기셀러들의 비결
    • 매체 업데이트 소식
  • 공지사항
    • 일반광고
      • [광고] 네이버 N골프 광고 출시!
    • 네이버쇼핑
      • [네이버] 네이버 쇼핑 상품 DB URL 등록 방법 (고도몰 솔루션)
      • [네이버] 네이버 쇼핑 상품 DB URL 등록 방법 (샵바이 솔루션)
    • 네이버페이
      • [결제형] 가입 승인 후 시스템 연동 방법
      • 가입 승인 후 서비스 상품/시스템 연동 방법 - 샵바이(basic/pro/premium)
    • 쇼핑몰 운영에 필요한 다양한 팁
      • 2025년 최신판: 쇼핑몰 택배 계약 없이, 단 1건도 배송 가능한 스마트 물류 시스템 이용 방법
Powered by GitBook
On this page
  • 관련 문서
  • 구글 애널리틱스 스크립트 예시
  • 상단 공통
  • 상품 상세 페이지
  • 회원가입 완료 페이지
  • 장바구니 페이지
  • 주문 완료 페이지

Was this helpful?

  1. shop by Ads Script
  2. 샵바이 광고 스크립트

구글 애널리틱스

gtag(=global tag)를 이용한 샵바이 구글애널리틱스, 전자상거래 스크립트 적용 방법

Previous구글애즈Next틱톡 픽셀

Last updated 7 months ago

Was this helpful?

샵바이예시 코드들은 스크립트 동작을 보장하지 않습니다.

본 문서에서는 구글 태그매니저 적용 방법에 대해서 기입하지 않습니다.

관련 문서

  • 구글 애널리틱스 개발자 문서:

  • 샵바이 변수 조회 가이드:

  • 구글 애널리틱스 추천 이벤트:

구글 애널리틱스 스크립트 예시

상단 공통

상단 공통 스크립트는 샵바이 관리자페이지에서 아이디 값을 입력할 경우 자동으로 삽입 됩니다.

따라서, 샵바이 어드민에 아이디를 입력하여 저장한 경우에는 상단 공통 스크립트는 생략 하시면 됩니다.

<!-- 예시 코드 -->
<script
  async
  src="https://www.googletagmanager.com/gtag/js?id={{GA4 ID}}"
></script>
<script>
  globalThis.dataLayer = globalThis.dataLayer || [];
  function gtag() {
    dataLayer.push(arguments);
  }
  gtag("js", new Date());

  gtag("config", "{{GA4 ID}}"); // GA4, Stream ID로 변경해주세요
</script>

상품 상세 페이지

<!-- 예시 코드 -->
<script>
  try {
    if (sb.product) {
      const {
        baseInfo: { productNo, productName },
        price: { salePrice, immediateDiscountAmt },
      } = sb.product;

      const gaViewItem = {
        item_id: String(productNo),
        item_name: productName,
        price: salePrice - immediateDiscountAmt,
        quantity: 1,
      };

      gtag('event', 'view_item', {
        currency: 'KRW',
        value: gaViewItem.price,
        items: [gaViewItem],
      });
    }
  } catch (error) {
    console.error("An error occurred:", error);
  }
</script>

회원가입 완료 페이지

<!-- 예시 코드 -->
<script>
  try {
    gtag("event", "sign_up", {
      currency: "KRW",
      value: 1,
    });
  } catch (error) {
    console.error("An error occurred:", error);
  }
</script>

장바구니 페이지

<!-- 예시 코드 -->
<script>
  try {
    if (sb.cart?.deliveryGroups?.length > 0) {
      function getGAViewCartInfo() {
        const gaOrderProducts = sb.cart.deliveryGroups.flatMap(({ orderProducts }) =>
          orderProducts.map((product) => {
            const { productNo, productName, buyAmt, orderProductOptions } = product;
            const quantity = orderProductOptions.reduce((sum, { orderCnt }) => {
              sum += orderCnt;

              return sum;
            }, 0);

            return {
              item_id: productNo,
              item_name: productName,
              currency: 'KRW',
              price: buyAmt,
              quantity,
            };
          }),
        );

        const gaOrderPrice = gaOrderProducts.reduce((sum, cur) => {
          sum += cur.price;

          return sum;
        }, 0);

        return { gaOrderProducts, gaOrderPrice };
      }


      const { gaOrderPrice, gaOrderProducts } = getGAViewCartInfo();
      if(gaOrderProducts.length > 0){
      gtag('event', 'view_cart', {
        currency: 'KRW',
        value: gaOrderPrice,
        items: gaOrderProducts,
      });
      }
    }
  } catch (error) {
    console.error("An error occurred:", error);
  }
</script>

주문 완료 페이지

<!-- 예시 코드 -->
<script>
  try {
    if (sb.order) {
      const {
        orderNo,
        payInfo: { payAmt },
        orderOptionsGroupByPartner,
      } = sb.order;

      const gaOrderItems = orderOptionsGroupByPartner.flatMap(({ orderOptionsGroupByDelivery }) =>
        orderOptionsGroupByDelivery.flatMap(({ orderOptions }) =>
          orderOptions.map((options) => {
            const {
              productNo: item_id,
              productName: item_name,
              price: { immediateDiscountAmt: discount, buyPrice: price },
              orderCnt: quantity,
            } = options;

            return {
              item_id:String(item_id),
              item_name,
              currency: 'KRW',
              discount,
              price,
              quantity,
            };
          }),
        ),
      );

      gtag('event', 'purchase', {
        transaction_id: orderNo,
        value: payAmt,
        currency: 'KRW',
        items: gaOrderItems,
      });
    }
  } catch (error) {
    console.error("An error occurred:", error);
  }
</script>
https://developers.google.com/analytics/devguides/collection/ga4
https://admin-remote.shopby.co.kr/popup/variable-guide
https://support.google.com/analytics/answer/9267735