묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
1-9 PIVOT문제 풀기
안녕하세요 카일스쿨님!1-9 PIVOT문제를 풀어봤습니다.먼저 PIVOT전에 제방식대로 푼코드를 드리겠습니다. 제가 WITH문을 자주 쓰지않고 그냥 한코드에 다쓰는 습관이 있어서 이런식으로 코드를 짜면 안좋은점이 있는지 피드백받고싶습니다. 또한 PIVOT문제를 풀긴 했는데 맞는 답인지 피드백받고싶습니다.-- PIVOT하기전에 제가 푼 것-- 내가 쓴 답 -- SELECT -- event_date, -- concat(event_name,'-', param.value.string_value) AS event_name_with_screen, -- CASE -- WHEN (event_name='screen_view' AND param.value.string_value='welcome') THEN 1 -- WHEN (event_name='screen_view' AND param.value.string_value='home') THEN 2 -- WHEN (event_name='screen_view' AND param.value.string_value='food_category') THEN 3 -- WHEN (event_name='screen_view' AND param.value.string_value='restaurant') THEN 4 -- WHEN (event_name='screen_view' AND param.value.string_value='cart') THEN 5 -- WHEN (event_name = 'click_payment' AND param.value.string_value='home') THEN 6 -- ELSE 0 -- END AS step_number, -- COUNT(DISTINCT user_id) AS cnt -- FROM `expanded-idiom-446706-d4.advanced.app_logs` -- CROSS JOIN UNNEST(event_params) AS param -- WHERE -- (event_date BETWEEN "2022-08-01"AND '2022-08-18') AND key='firebase_screen' -- GROUP BY event_date,event_name,param.value.string_value,step_number -- HAVING step_number !=0 -- ORDER BY step_number ,event_date-- PIVOT문제 푼것 WITH base AS ( SELECT event_date, event_timestamp, event_name, user_id, user_pseudo_id, platform, MAX(IF(event_param.key = 'firebase_screen',event_param.value.string_value,null)) AS firebase_screen, MAX(IF(event_param.key = 'food_id',event_param.value.int_value,null)) AS food_id, MAX(IF(event_param.key = 'session_id',event_param.value.string_value,null)) AS session_id FROM advanced.app_logs CROSS JOIN UNNEST(event_params) AS event_param WHERE -- event_date = '2022-08-01' # 적은 데이터로 쿼리를 작성하기 위해 만들어둔 조건 event_date BETWEEN '2022-08-01' AND '2022-08-18' GROUP BY ALL ) , fliter_event_and_concat_evnet_and_screen AS( -- screen과 event_name을 합치자(필요한 이벤트만 where 조건에걸어서 사용) SELECT * EXCEPT(event_name,firebase_screen,event_timestamp), CONCAT(event_name,'-',firebase_screen) AS event_name_with_screen, DATETIME(TIMESTAMP_MICROS(event_timestamp),'Asia/Seoul')AS event_datetime FROM base WHERE event_name IN ('screen_view','click_payment') ) SELECT event_date, SUM(IF(event_name_with_screen='screen_view-welcome'),cnt,0) AS `screen_view-welcome`, SUM(IF(event_name_with_screen='screen_view-home'),cnt,0) AS `screen_view-home`, SUM(IF(event_name_with_screen=' screen_view-food_category'),cnt,0) AS `screen_view-food_category`, SUM(IF(event_name_with_screen='screen_view-restaurant'),cnt,0) AS `screen_view-restaurant`, SUM(IF(event_name_with_screen='screen_view-cart'),cnt,0) AS `screen_view-cart`, SUM(IF(event_name_with_screen='click_payment-cart'),cnt,0) AS `click_payment-cart` FROM fliter_event_and_concat_evnet_and_screen GROUP BY ALL ORDER BY event_date
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
태그 유형 선택
안녕하세요. 강의 너무 잘 듣고 있습니다.현재 저의 창입니다.강의에서 선택하라는 항목이 없어서 질문드립니다. 타 수강생 질문을 보아도 lagacy모델 하위 기본을 선택하라고 답변을 주셨는데, 저에게는 그 항목도 없어서 여쭤봅니다!
-
해결됨(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>
사이트 전체 Route 구조 짜기 영상 10분쯤 코드가 똑같은데 연결이 안되요
영상 10분쯤 나오는 파트에서 Main.jsx와 App.jsx 코드를 아예 똑같이 썼는데도 사이트에 연결할 수 없다고 뜹니다 어떻게 해야 하나요 vsc에서는 Main이 선언은 되었지만 해당 값이 읽히지는 않았습니다 ts(6133)이라고 뜯니다
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
<head>, <body> 질문
선생님 안녕하세요,ga 가입절차에서 나오는 <head> 스크립트는 개발자 혹은 관리자한테 이메일을 보내라고 말씀해 주셨잖아요~! 그런데 gtm에서도 <head>, <body>가 나오던데 그럼 이메일 보낼 때 gtm 내용도 한 번에 보내나요? 그럼 <head>에 해당하는 스크립트가 2개인데 관리자, 개발자께서 알아 들으실까요??
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
강의에 나오는 GA4 내용은 모두 무료인가요?
GA4 내에서 유료 결제(GA4 360)해야 쓸 수 있는 기능도 소개되는지, 아니면 유료 결제 없이 무료 범위 내에서만 소개되는지 궁금합니다. 수집해야 하는 이벤트의 종류가 많고, dictionary 형식이고, 데이터 보존 기간이 최소 한달은 되었으면 하는데, GA4를 무료 범위 내에서만 써도 충분할지 궁금합니다.
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
태그매니저 설정했는데 태그되지 않은 것이 있다고 하는데요
-태그 관리자에 들어가니컨테이너 품질주의가 떴는데 이슈하나가 있음-잇슈1개보기 클릭하니 컨테이너품질확인이 필요한 문제가 감지되었다고 하는데 일부페이지가 태그가지정되지 않았음이라고 합니다. : 전 지시대로 했는데 왜 이런 문제가 발생하나요? 해결방법과 원인은 무언가요?-태그되지 않은 페이지 보기하면
-
해결됨(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>
URL 복사 버튼 만들기 챕터에서 react-copy-to-clipboard 오류가 발생합니다.
Q. npm i react-copy-to-clipboard 패키지 설치시 아래와 같은 오류가 발생합니다. > npm i react-copy-to-clipboard npm error code ERESOLVE npm error ERESOLVE unable to resolve dependency tree npm error npm error While resolving: mbti-contents-platform@0.0.0 npm error Found: react@19.0.0 npm error node_modules/react npm error react@"^19.0.0" from the root project npm error npm error Could not resolve dependency: npm error peer react@"^15.3.0 || 16 || 17 || 18" from react-copy-to-clipboard@5.1.0 npm error node_modules/react-copy-to-clipboard npm error react-copy-to-clipboard@"*" from the root project npm error npm error Fix the upstream dependency conflict, or retry npm error this command with --force or --legacy-peer-deps npm error to accept an incorrect (and potentially broken) dependency resolution. npm error npm error ... 강의 들으며 문제가 발생했고, 직접 해결한 방법을 공유합니다.🎯 오류 원인 분석오류 메시지를 분석하면, react-copy-to-clipboard@5.1.0 패키지가 React 19을 지원하지 않기 때문에 설치에 실패한 것입니다.🎯 1. 오류 원인 분석오류 메시지를 보면:npm error Found: react@19.0.0 npm error Could not resolve dependency: npm error peer react@"^15.3.0 || 16 || 17 || 18" from react-copy-to-clipboard@5.1.0 📌 원인프로젝트에 React 19.0.0이 설치되어 있음.하지만 **react-copy-to-clipboard@5.1.0**은 React 19을 지원하지 않음 (React 15~18까지만 지원).📌 결과react-copy-to-clipboard는 react@19와 호환되지 않아서 설치할 수 없음.강사님은 18버전으로 진행, 실습 시 vite로 최신버전이 19버전으로 설치됨 Soultion ✅ react-copy-to-clipboard 대신 다른 패키지 사용 (추천)현재 react-copy-to-clipboard는 React 19을 공식적으로 지원하지 않음.대신 React 19에서 정상적으로 동작하는 최신 패키지를 사용하는 것이 좋음.대체 패키지: @uidotdev/usehooks이 패키지는 useCopyToClipboard() 훅을 제공하며, React 19에서도 사용 가능.npm i @uidotdev/usehooks 📌 사용 예시 (useCopyToClipboard 활용)import { useCopyToClipboard } from "@uidotdev/usehooks"; export default function CopyButton() { const [copiedText, copy] = useCopyToClipboard(); return ( <div> <button onClick={() => copy("Hello, World!")}>복사하기</button> {copiedText && <p>복사 완료: {copiedText}</p>} </div> ); } 저는 위 방식을 통해 해결하였습니다. 더 좋은 방법이 있으면 공유해주세요.
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
리텐션 과제
리텐션 과제 제출합니다 !쿼리를 짜는 것보다 유저를 어떤 기준으로 나눌 것인지, 리텐션을 어떻게 해석할 것인지 등의 부분이 항상 어려운 것 같습니다 . . ㅠㅠ최대한 배운 내용을 활용해서 인사이트를 도출해보고자 했습니다. 한번 봐주시면 감사하겠습니다 ㅎㅎ!https://bubble-supernova-783.notion.site/19defe88476380ef91abc06719a01ba9#1a4efe88476380e6bd84d4ac9602522d
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
태그매니저 아이디를 변경했을 때
선생님 안녕하세요. 이제 막 GA4 강의를 시작한 수강생입니다. 실습을 하다가 궁금한 점이 있어서 문의드립니다. A아이디 태그매니저로 생성한 태그 코드를 C웹사이트에 심고 GA4에 연결했습니다. 그런데 B아이디 태그매니저를 사용하고 싶어서 B아이디로 생성한 태그 코드를 C웹사이트에 넣고 GA4에 연결했습니다. 그러면 A아이디로 생성한 태그는 더이상 C웹사이트에 연결이 돼있지 않은 건데요. A아이디 태그매니저에는 여전히 컨데이터 품질이 아주 좋다고 나오고, GA4 홈에서도 연결이 끊겼는지 알 수가 없어서요.혹시 이 때 바로 태그 연결에 문제가 있음을 알 수 있는 방법은 없을까요?
-
해결됨(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>
TEST.js 파일은 어디에 있나요?
안녕하세요! 수업을 듣는데 Test.js 파일이 없어서요다운받은 파일에도 없어요
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
동영상 해상도
1080P 은 지원 안하나요 ㅠㅠ720P 도 화면이 선명하지 않아서 강의 볼 때 불편합니다 ㅠㅠ
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
1-9 마지막 테이블 피벗 해보기
안녕하세요 카일님강의 마지막에 주신 연습문제 해보았습니다. PIVOT에 어떤 연산자를 사용할 것인가?MAX로 할 경우 -> 별도의 연산된 결과값이 있는 base`가 필요할 것 같음. 이 경우 강의 중 작성된 cnt를 참조하여 작성할 수 있을 것 같으나 3중 쿼리라는게 마음에 걸림.SUM으로 할 경우 -> 강의 중 작성한 base 만으로 충분할 것 같음. 2중 쿼리로 충분해보임.따라서 B안으로 작성해보았습니다.WITH base AS ( SELECT event_date, event_timestamp, event_name, user_id, user_pseudo_id, platform, -- event_param, MAX(IF(event_param.key = 'firebase_screen',event_param.value.string_value, NULL)) AS firebase_screen, -- MAX(IF(event_param.key = 'food_id',event_param.value.int_value, NULL)) AS food_id, MAX(IF(event_param.key = 'session_id',event_param.value.string_value, NULL)) AS session_id, FROM advanced.app_logs CROSS JOIN UNNEST(event_params) AS event_param WHERE -- event_date = '2022-08-01' -> 적은 데이터로 쿼리를 작성하기 위해 입력한 임시 조건 event_date BETWEEN '2022-08-01' AND '2022-08-18' GROUP BY ALL -- LIMIT 100 -> 기초 구문 작성 완료 시 삭제 필요! ), filter_event_and_concat_event_and_screen AS ( -- name, screen concatate (필요한 이벤트만 WHERE 조건 걸어 사용) SELECT * EXCEPT(event_name,firebase_screen, event_timestamp), CONCAT(event_name, '-', firebase_screen) AS event_name_with_screen, DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul') AS event_datetime FROM base WHERE event_name IN('screen_view', 'click_payment') ) # PIVOT 연습문제 SELECT event_date, SUM(IF(event_name_with_screen = 'screen_view-welcome',1,0)) AS `screen_view-welcome`, SUM(IF(event_name_with_screen = 'screen_view-home',1,0)) AS `screen_view-home`, SUM(IF(event_name_with_screen = 'screen_view-food_category',1,0)) AS `screen_view-food_category`, SUM(IF(event_name_with_screen = 'screen_view-restaurant',1,0)) AS `screen_view-restaurant`, SUM(IF(event_name_with_screen = 'screen_view-cart',1,0)) AS `screen_view-cart`, SUM(IF(event_name_with_screen = 'click_payment=cart',1,0)) AS `click_payment-cart`, FROM filter_event_and_concat_event_and_screen GROUP BY ALL ORDER BY event_date ASC
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
counts와 cnt 차이
안녕하세요. Weekly retention을 구하고자 아래와 같이 쿼리를 작성했습니다.WITH base AS (SELECT DISTINCT user_id, event_name, DATETIME(TIMESTAMP_MICROS(event_timestamp),'Asia/Seoul') AS event_datetime, DATE(DATETIME(TIMESTAMP_MICROS(event_timestamp),'Asia/Seoul')) AS event_date, user_pseudo_id FROM `advanced.app_logs` WHERE event_date BETWEEN "2022-08-01" AND "2022-11-03" ), first_week_and_diff AS ( SELECT *, DATE_DIFF(event_week, first_week, WEEK) AS diff_of_week FROM ( SELECT DISTINCT user_pseudo_id, DATE_TRUNC(MIN(event_date) OVER(PARTITION BY user_pseudo_id), WEEK(MONDAY)) AS first_week, DATE_TRUNC(event_date, WEEK(MONDAY)) AS event_week FROM base ) ), user_cnt AS ( SELECT diff_of_week, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM first_week_and_diff GROUP BY diff_of_week ) SELECT *, ROUND(SAFE_DIVIDE(user_cnt, first_week_user_cnt), 2) AS retention_rate FROM ( SELECT diff_of_week, user_cnt, FIRST_VALUE(user_cnt) OVER(ORDER BY diff_of_week ASC) AS first_week_user_cnt FROM user_cnt );이렇게 쿼리 작성을 하니 오류가 발생했고 user_cnt AS ( SELECT diff_of_week, COUNT(DISTINCT user_pseudo_id) AS user_cnt FROM first_week_and_diff GROUP BY diff_of_week )이 부분에서 테이블 이름을 user_counts로 수정하니 제대로 동작함을 확인했습니다. 왜 이름 때문에 오류가 발생하는 것인지 궁금합니다.
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
1-5 예제용 학생 점수 데이터 테이블 생성 시 오류 발생
안녕하세요 카일님1-5 학습 중 PIVOT 예제용 TABLE을 만들어 보려고 하였습니다.결론부터 말씀드리면 TABLE 생성에 성공하였어요.다만 궁금한 것은 제가 겪은 오류에 대한 해석이 올바른 것인지 확인 받고 싶어서 질문 드립니다.1-4 강에 있던 array_exercise 생성 구문을 참고하여 아래와 같은 구문으로 실행하였더니 생성되지 않았습니다.가장 안쪽의 select 부터 실행하면서 찾아보니 최하단의 UNION ALL이 원인이었더라구요. UNION ALL 은 아래에도 추가 ROW를 입력해야 할 때, 한 행으로 밀어넣는 명령어이므로, 마지막 행 다음에는 넣지 말아야 한다. 넣을 경우 그 뒤에 추가적인 데이터의 입력을 요구하나, 데이터가 없으므로 실행이 되지 않는 것이다.라고 이해했는데, 맞게 이해했을까요?CREATE OR REPLACE TABLE `advanced.grade` AS SELECT student, grades FROM ( SELECT 'A' AS student, ARRAY<STRUCT<subject STRING, score INT64>>[ STRUCT('수학', 80), STRUCT('영어', 90), STRUCT('과학', 85) ] AS grades UNION ALL SELECT 'B', ARRAY<STRUCT<subject STRING, score INT64>>[ STRUCT('수학', 75), STRUCT('영어', 95), STRUCT('과학', 80) ] UNION ALL )
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
애널리틱스 Paid Social 항목
안녕하세요~ 선생님,강의 들으면서 구글애널리틱스 분석 중인 직장인입니다.다름이아니라 저희 홈페이지가 2월 3일부터 Paid Social 항목으로 사용자수가 늘고 있는데요.. 저희는 유료 광고 특히 sns을 포함한 social 광고를 한 적도 없고 검색을 해도 사유를 찾을 수 없어 이렇게 질문을 남깁니다. 첫 사용자 소스/매체도 fb/paid와 ig/paid로 찍히고 있는 상황이며 특히 fb가 많습니다. 한 번도 paid social 항목이 1위로 나왔던 적이 없어서 의견을 부탁드리겠습니다. 감사합니다.
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
모든 계정 > Demo Account가 뜨지 않아요
모든 계정에 demo account가 뜨지 않네요. 아무 것도 뜨지 않아요. 그래도 괜찮은 걸까요?
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
속성 1개
속성 개수가 2개라는데 저는 1개만 뜨네요.유니버셜은 안 뜹니다 ... 어느 부분에서 놓친 걸까요 ㅠㅠ
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
cafe24.com에 연결할 수 없습니다
안녕하세요. 제가 만든 cafe24 홈페이지에 tag assistant를 확인했을 땐 'google 태그 찾음' 이라고 뜨는데, tag assistant에서 미리보기를 할 경우에는 연결이 안 된다고 나오네요 ... 어떤 부분이 잘못된 걸까요
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
구글 태그 어시스턴트
이 부분 다운로드하는게 강의에 있었나요?? "아까 설치한거라고" 하시는데 암만 찾아도 없어가지고요 ㅠㅠ
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
섹션 키 이벤트 비율(전환율) 보는 법
안녕하세요 섹션 14수강중입니다.기본리포트에서 '전환율'(세션 키 이벤트 비율)을 보는 방법 블로그글 읽고 학습하고 있는데 트래픽 획득 보고서 결과의 측정항목 '세션 키 이벤트 비율'을 추가하려고 세션을 검색하니 나오지 않습니다. 대신 결과보고서에 '세션주요이벤트 비율' 이라고 나와있는데 이게 전환율일까요? 감사합니다.