제목
깜빡임방지 스니펫 관련 문의
작성자
tlsau****
작성일
2022-09-19 18:14
조회
403
답변완료
옵티마이즈 설치 후 '깜빡임방지스니펫'을 삽입하였습니다. 

삽입 후 설치 확인 시 아래와 같이 오류가 발생하는데, 어떻게 해야될지 문의 드립니다.

[진행절차]

1. optimize.js(비동기식)로 최적화 도구 설치 (설치후 진단시 이상없음)
2. 깜빡임방지스니펫 코드 삽입시 오류발생 : 깜박임 방지 스니펫에 dataLayer 변수가 다시 할당됨
==> 해당 오류 발생시 이후 절차 문의드립니다. 

*해당내용 중 아래 내용에 대한 이해가 되지 않음(dataLayer 초기화..??)

==> 최적화 도구 태그 추가 권장사항은 dataLayer 초기화를 깜박임 방지 스니펫 위로 옮기고 나중에 페이지에서 이를 다시 초기화하지 않는 것입니다.

*문의내용

-모바일페이지 <head>영역 중 어느 위치에 삽입해야 되는지 문의

-dataLayer 초기화를 깜빡임방지 스니펫 위로 옮기고 나중에 페이지에서 이를 다시 초기화하지 않는거입니다. => 해당글에 대한 처리방식 문의

★첨부파일 : 최적화도구설치진단(이상없음), 깜빡임방지스니펫 설치 오류 화면
첨부파일 2개
전체 5

  • 2022-09-21 11:06

    안녕하세요, tlsau****님!

    1. 딱 정해진 위치는 없구요! head 태그 안에만 위치 시키면 됩니다. 그리고 코드는 위에서 아래로 순서대로 실행되기 때문에 가능한 위쪽에 삽입해주시면 좋습니다.

    2. dataLayer 초기화와 관련된 코드가 사이트에 존재하시나요? 에러 구문에 대한 설명을 간단하게 드리자면,

    - "dataLayer 변수 값을 업데이트"
    dataLayer.push({ ... }) 형태로 dataLayer에 값을 추가하는 코드를 의미합니다. 보통 dataLayer에 값을 추가할 때는 push를 이용한 방식을 활용합니다.

    - "dataLayer 변수가 페이지에서 나중에 다시 초기화"
    dataLayer = []; 형태와 유사하게 dataLayer에 설정된 기존 내용들이 삭제되고, 새로운 값이 입력되는 것을 초기화라 합니다. 이는 dataLayer 설정을 날려버리므로 깜빡임방지 스니펫에 에러가 발생할 수 있습니다. ( 이러한 코드가 페이지에 있다면 깜빡임 방지 코드보다 위에 위치해야 합니다. 초기화는 설정들이 적용되기 전에 1번만 진행 )

    정리드리자면, dataLayer를 초기화시키는 코드가 페이지 존재하는지? 확인이 필요하구요! 그런 코드가 있다면 깜빡임 방지 스니펫 위에 위치해야 합니다.
    구조상 위치 변경이 불가능할 경우에는 아래 형태로 코드를 추가하여, 페이지에 사용 중인 데이터 레이어가 있으면 그대로 사용하고, 없을 경우에만 초기화하는 방식으로 업데이트를 진행해야 합니다.

    window.dataLayer = window.dataLayer || []; // dataLayer 체크 또는 초기화
    window.dataLayer.push({...}) // dataLayer 변수 값을 업데이트


  • 2022-09-26 23:33

    문의주신 (3)번 내용은 초기화시키는 구문이 있을 경우에 대신 사용하는 코드라, 말씀주신 대로 초기화 코드가 없다면 사용하지 않으셔도 됩니다.

    혹시, 태그매니저 그리고 gtag.js 스니펫이 페이지에 설치되어 있다면
    1. 구글 태그매니저 설치코드, 또는 gtag.js 스니펫
    2. 깜빡임 방지 스니펫
    3. 구글 옵티마이즈 설치코드

    위 순서로 페이지에 설치해보시겠어요? 해당 방식도 에러가 난다면 gtag.js 또는 태그매니저를 통해 설치하는 등 다른 방식으로 옵티마이즈를 설치해보시는 것을 추천드립니다 🙂
    - 참고. 구글 옵티마이즈 설치하기 : https://dachata.com/google-optimize/post/install-google-optimize/


  • 2022-09-26 11:15

    안녕하세요.
    자세하고 친절한 설명 감사드립니다^^;
    말씀주신 내용관련 추가 문의드립니다.

    1. dataLayer를 초기화하는 코드는 존재하지 않습니다.

    window.dataLayer = window.dataLayer || []; // 해당코드 없음, 아래 코드는 존재(이미지 첨부)

    2. 이런경우, 아래 코드를 삽입하면 되는지요? 그리고, 삽입위치는 유의해서 특정코드 위에 반드시 넣어야 되는경우가 있나요?
    window.dataLayer = window.dataLayer || [];

    3. 상기 코드를 삽입하면 된다는 전제하에,,절차가
    1) 아래 코드 삽입
    window.dataLayer = window.dataLayer || [];

    2) 깜빡임방지스니펫 코드 입력

    이렇게 하면 되는걸까요?

    dataLayer.JPG


  • 2022-09-29 09:59

    안녕하세요.

    말씀주신 위 순서로 페이지에 설치라고 하시는 부분이,
    설치 순서를 1번=>2번=>3번 (깜빡임방지스니펫 먼저 설치후 구글옵티마이즈 설치코드)을 말씀하시는건지
    페이지에 삽입코드 위치가 1번(가장위)/2번(중간)/3번(하단)을 말씀하시는 걸까요??


    • 2022-09-29 21:27

      페이지에 삽입코드가 1,2,3번 순서대로 차례로 입력되면 됩니다!