.
리 마케팅은 사용자가 방문한 페이지에 따라 다른 가중치를 부여합니다. 홈페이지에서 방금 본 사람은 제품 카테고리 나 제품 세부 정보를 본 사용자보다 가치가 낮습니다. 제품은 고객의 취향에 맞춰 광고를 더 정확하게 만들 수 있습니다. 또는 이론이 적용됩니다). 따라서 방문한 사이트 및 자바 스크립트 개체 ('google_tag_params')를 통해 본 제품에 대한 데이터를 전달해야합니다.
일반적으로이 데이터는 웹 사이트의 소스 코드에서 제공되며 이상적으로는 데이터 계층 형식으로 제공됩니다. 글로벌 자바 스크립트 변수도 사용할 수 있습니다.
분명히보고있는 사이트는 그렇게하지 않습니다. 그래서 이것을 구현 한 사람은 커스텀 HTML 태그를 사용하여 필요한 데이터로 전역 JS 변수를 생성했습니다. 그러면 전역 네임 스페이스에 데이터가 저장됩니다. 그런 다음 태그에서 생성 된 js 변수를 읽고 Adwords 태그로 피드하는 javascript 변수를 작성했습니다.
google_tag_params에 대한 정의가있는 맞춤 HTML 태그가 여러 개 있습니다. 트리거를 살펴보면 특정 페이지에서 해고당하는 것을 볼 수 있습니다. 즉, 웹 사이트 루트 페이지의 '홈페이지', 제품 세부 정보 페이지의 '제품 변수'등입니다. 그러면 google_tag_params 객체에 각 페이지 유형에 필요한 데이터 웹 사이트는 제품 데이터를 제공하지 않으므로 "제품 변수"태그에 사용자 정의 javascript가있어 DOM에서 데이터를 추출합니다.
이 방법이 효과가 있습니까? 음, 그렇게 생각합니다. 우아한가요? 확실히 아닙니다 - GTM의 주요 장점 중 2 가지는 캡슐화 (데이터 배열로 인한 유일한 글로벌 변수이므로 충돌 이름 지정의 위험을 줄입니다) 및 상당히 강력한 선택기 엔진입니다. 귀하의 코드는 그 중 아무 것도 사용하지 않습니다.
변경하는 것이 가치가 있습니까? 아마도 조금. google_tag_params가 사용자 정의 javascript 변수 (값을 반환하는 익명 함수의 형식을 취함)에서 생성되는 경우 조금 더 우아 할 것입니다. 또한 DOM 추출 코드는 사용자 정의 javascript 변수 또는 DOM 유형 변수 (적절한 선택기를 제공 할 수있는 경우 사용자 정의 코드없이 HTML 요소에서 데이터를 읽음)로 이동할 수 있습니다. 그러나 이것은 당신이 더 좋고 조금 신뢰할 수있는 구현을한다는 것을 의미하지만 이것은 기본적으로 동일한 결과를위한 약간의 노력을 의미합니다.
그러나 적절한 구현은 페이지에서 제공하는 데이터 계층 (예 : 서버 측 코드를 통해 생성 됨)에 의존합니다. DOM 추출은 변덕스러운 사업이며 마크 업을 변경하면 애드워즈 추적 기능이 중단됩니다.
서버 측 코드를 통해 구현 된 dataLayer를 사용할 수 없다면 실용적인 해결책은 그대로 두는 것입니다. 그것은 당신에게 몇 가지 문제를 열어 둡니다 (마크 업을 변경하거나 "price"또는 "qty"라는 글로벌 JS 변수를 도입 한 다음 구현이 엉망이라면) 그러나 이것은 지금까지 그 일을 해왔습니다. 마일.
대단한 설명을 해주셔서 감사합니다. – user3465554