현재 2~3주 정도 유료 광고를 집행하며 시장 반응을 보고 있는데, 광고 지출 대비 수익(AdMob)이 너무 적어 적자를 보고 있습니다. 광고 전략을 전면 수정해야 할 것 같은데요ㅜㅜ 데이터 해석과 최적화 방향에 대해 조언을 구하고자 질문드려요. 1. 현재 상황 및 지표 앱 상황) 피아노 학습 앱을 만들었고, 페이지별 배너와 학습 스테이지 앞 혹은 뒤에 전면광고를 두었습니다(첫 사용자는 학습 스테이지 뒤에, 그 이후는 스테이지 앞에 전면광고가 나옵니다) 구글 애널리틱스에서는 활성 사용자가 천명 정도 로 나옵니다. 사용자 지표: 리텐션은 1주 차 15.6%, 2주 차 5.3% 정도 입니다. 광고 집행 상황) 안드로이드는 Google Ads(UAC)로 한국, 일본, 영어권(미국/캐나다 등 6개국)에 각 캠페인당 일일 3000원씩 집행 중 입니다. iOS는 인스타그램 연주 영상 광고가 효과적일 것 같아 동일하게 각 나라별 $2씩 집행 하고 있습니다. Google Ads 3주, 인스타 광고 2주 차입니다(계속 최적화를 했어야했는데, 미룬 점 반성하고 있습니다 ㅜ) 아래는 google ads(android 광고) meta ads(ios 광고)의 최근 일주일간 상황입니다. Google ads의 클릭율은 4%, 전환율은 7% 정도 되고 있고 전환당 비용은 262원 정도입니다. meta ads는 바로 설치율만 나오고 있고 비용도 0.41$로 비싸서 google ads로 ios도 광고해볼까 고민중 입니다(노출대비 설치율로 보면 구글은 1.3%, 0.8% 정도로 계산됩니다) 수익상황) AdMob 수익은 일평균 총 1~1.3 달러 수준으로, ios, android 비중은 비슷합니다. 아래는 최근 1주일간의 admob 수익 지표입니다. 전면광고는 eCPM 10달러 정도이고, 배너는 1달러 왔다갔다 하고있습니다 admob.pro로 보면 보이는 지난7일 상황입니다 ㅎㅎㅎ 위가 Ios고 아래가 android입니다. 2. 광고 운용 관련 고민 질문 질문1. 현재 적자가 심해 예산을 확 줄이는게 합리적일거같은데요. 현재 admob 수익 상황에 맞게 줄이는게 맞겠죠? 아예 $1 미만으로 적자가 나지 않는 선으로 급격히 줄여도 광고 알고리즘에 악영향이 없을까요? 그리고 줄여도 된다면 단계적으로 줄여야 하는지, 아니면 기존 광고를 끄고 저렴한 예산으로 아예 새로 세팅하는 게 나을지 궁금합니다. 질문2. iOS에서도 Google Ads를 활용했을 때도 유의미한 성과가 있을까요? 혹시 ios를 google ads로 홍보해보신 경험이 있으실까 싶어 여쭤봅니다. 아예 관리 포인트를 하나로 줄여볼까 생각도 들어서 여쭤봅니다. 질문4. ecpm, 전환율, 클릭률, 리텐션 등 앱 만드실 때 경험적으로 이정도는 되어야 한다 생각하시는 값 이 있을까요? eCPM(전면 10달러, 배너 1달러)이나 전환율 7%, 클릭률 4%, 일주일 리텐션 15% 현재 상황이 어떤지 의견이 궁금합니다! 질문3. 현재 상황을 봤을 때, 이 앱의 수익 구조 자체를 비관적으로 봐야 할 시점인가요? 아니면 초기 최적화 단계에서 흔히 겪는 과정인가요? 피아노 자체가 필요한 앱이라서 좀 더 한계가 있는건가 싶기도하네요. 질문3-1. 강의에서 두달 정도 있다가 확 광고 성과가 좋아지는 경우가 있다고 하셨는데 이때 수익이 느는 이유는 무엇인가요 ? 홍보량이 같은데 eCPM이 좋아지는 건지, 아니면 최적화로 인해 타겟팅 정확도가 올라가는 건지 궁금합니다. 질문4. 그동안 광고 문구나 소재 교체에 소홀했던 것 같아 수정해보려 합니다. 이때 현재 상황에서 기존 캠페인을 끄고 새로 만들어야 할까요? 아니면 적자를 감수하더라도 기존 것과 병행하며 테스트 기간을 더 가져가야 할까요? 혹시 별개로 조언 해주실 점 있으시면 조언해주시면 너무 감사드립니다! 으악 적다보니 질문이 많아졌네요. 나눠서 질문할까 하다가 맥락을 매번 새로 적어야 할거같아 모아서 질문드리는 점 양해 부탁드립니다. 처음이라 의욕만 앞서다 보니 다소 전략 없이 광고비를 쓴 것 같아 반성하고 있습니다. 다른 악기 학습 앱으로의 확장도 고려 중이라, 이번 피아노 앱에서 제대로 된 기준점을 잡고 싶습니다. 작은 조언이라도 소중히 듣겠습니다. 미약한 시작을 함께 해주셔서 감사합니다!
안녕하세요, 선생님. 강의 잘 듣고 있습니다. 앱 연령 등급이 크게 문제가 되지 않는다면, 전체 연령으로 설정해도 괜찮을지 궁금합니다. 글로벌 출시 앱의 경우 COPPA와 GDPR을 준수해야 하는 것으로 알고 있는데, AdMob > 차단 관리 > 광고 콘텐츠 등급 / 민감한 카테고리 설정은 어떤 기준으로 설정하는 것이 적절할까요? 제가 여러모로 조심스러운 편이라 걱정이 많습니다. 광고를 차단하니 초기에 광고가 너무 안나오는 문제가 있는거같네요. 혹시 이 내용이 강의 중에 다뤄졌다면, 제가 놓쳤을 수도 있으니 해당 파트를 알려주시면 감사하겠습니다. 감사합니다.
survey-pie 코드 .. 404...error 입니다. 딱 1년 만에 이 강의 들으려고 왔는데... 흐음.. (요즘 트랜드..리액트 버전이나... 암튼... 자료 , 강의는 업데이트 되고 있나요? 종종..수정해서 올리는 강의를 본적이 있어서..) 암튼..주속 확인 부탁드립니다.
안녕하세요 문의드립니다. 일단 제공해 주신 소스를 풀어서 실행을 해 보았습니다. (당연히 npm i...관련 module 설치 하고요) 터미널: npm run start를 실행하면 위와 같은 화면만 나오네요. 그리고 개발자 도구 내용을 보면 index.tsx ? .. 소스상에 파일이 없는데 궁금합니다. 일단 실행이 해서 개발 완료된 화면을 보고자 합니다. 실행하기 전에 선행 작업있나요? (각 확장프로그램..등... ) 가이드를 봐도 내용이..(제가 못찾은 건지.) 설명 부탁드립니다.
안녕하세요 문의드립니다. 일단 제공해 주신 소스를 풀어서 실행을 해 보았습니다. (당연히 npm i...관련 module 설치 하고요) 터미널: npm run start를 실행하면 위와 같은 화면만 나오네요. 그리고 개발자 도구 내용을 보면 index.tsx ? .. 소스상에 파일이 없는데 궁금합니다. 일단 실행이 해서 개발 완료된 화면을 보고자 합니다. 실행하기 전에 선행 작업있나요? (각 확장프로그램..등... ) 가이드를 봐도 내용이..(제가 못찾은 건지.) 설명 부탁드립니다.
안녕하세요, 좋은 강의 항상 감사드립니다. runpod 방법으로 바뀐뒤 적용 후 학습을 해보는 과정에서 incredibles detect 실습과정에서 에러가 났다가 해결하여 제보드립니다. numpy 2.2.6버전으로 template에 깔려있어서 numpy .1.x 기준으로 컴파일된 다른 패키지가 서로 충돌이 일어나서 epoch 학습이 시작되지 않는 에러가 있었습니다. 전 깔끔하게 numpy를 삭제하고 다운그레이드한 뒤 해결하였습니다. # 수정전 # Runpod의 경우 GDrive 연결하지 않고 /workspace/ultra_workdir에 저장. !mkdir "/workspace/ultra_workdir" # 주피터 노트북에서 참조할 수 있도록 /workspace를 /content/workspace 디렉토리로 soft link 적용. !ln -s /workspace /content/workspace # 수정 후 !mkdir "/workspace/ultra_workdir" !ln -s /workspace /content/workspace !conda uninstall numpy --force -y !conda install numpy=1.26.4 -y
Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)
Rehype-sanitize를 사용하면 어떻게 설정을 하든, <u>에 대한 허용을 설정하든, '밑줄'을 긋는 서식에 대한 결과가 제대로 이루어지지 않습니다. 항상 생략되어 밑줄쳐둔 부분은 삭제되는 결과를 낳습니다. 그래서 드는 생각이, 어차피 제 노션에서 쓴 글을 받아서 작성하는데, 텍스트로 html코드를 이상하게 적어둘것도 아니므로, 굳이 sanitize가 있을 필요가 있나 하는 의문이 듭니다.
사용자가 캘린더를 보유했는지 여부로 확인할 것 같습니다. 이유는 추후 서비스 확장할 때 조금 더 수월할 것 같다는 생각이 들었습니다. 프로젝트를 시작하면서부터 아래와 같은 생각을 했습니다. - "누구나 호스트가 되면 안될까?" - "호스트 역시도 커피챗을 신청할 수 있게 하고 싶다." 그래서 위와 같이 서비스 정책을 확장할 때를 대비해서 (마이그레이션 비용을 줄이는 방향으로) is_host로 검사하는 것이 아닌 일단 캘린더 보유 여부로 호스트인지 아닌지 확인하자라고 판단했습니다.
안녕하세요. 아직 Zustand강의 까지 보지는 않았는데, 전역 상태 관리 방법으로는 Redux Toolkit, Context API, Zustand 이렇게 세 가지가 있는 것 같습니다. 결국 이 세 가지 모두 전역으로 상태를 관리한다는 점에서는 비슷해 보이는데, 나중에 제가 프로젝트를 할때 이 중에서 어떤 기준으로 선택하는 게 좋은지 궁금합니다.!
안녕하세요! 강의 노션에서는 이렇게 나와있는데 npx tailwindcss init만으로는 tailwind.config.js만 설치되고, postcss.config.js는 설치가 안되는 게 아닌가요? npx tailwind init -p 명령어를 사용해야 하는지 여쭤보고 싶습니다! 그리고 위 두 명령어만 입력해서 tailwind를 사용하려고 하니 에러가 떠서 찾아보니까 Vite가 postcss.config.js 읽다가 autoprefixer 플러그인을 불러오려고 했는데 , 프로젝트에 autoprefixer 패키지가 설치되어 있지 않아서 터진 거야. 라고 하더라구요 npm install -D tailwindcss@3이 아니라 npm install -D tailwindcss@3 postcss autoprefixer 이 명령어를 사용해야 한다고 해서 사용해보니 에러가 해결된 상태입니다. 노션에 적혀있는 명령어와 달라서 여쭤봅니다! npm install -D tailwindcss@3 postcss autoprefixer npm install -D taiㅇindcss@3 postcss autopnpm install -D tailwindcss@3 postcss autoprefixerrefixer
두 요소를 모두 사용 하나, 각각 다른 용도로 쓸 것입니다. is_host 용도: 호스트 전용 엔드포인트 접근 통제 및 UI 메뉴 노출, 권한 기반 라우팅 호스트를 위한 endpoint API 에 대한 이용 허가 여부를 결정하는 호스트의 access token 생성 및 엔드포인트 함수 내의 조건문을 위해 필요한 모델 필드라고 생각합니다. 예상되는 우려점은 호스트 유저가 더이상 host가 되지 않을 때, host를 위한 API의 이용 허가를 거부 해야하기 때문에 is_host 필드값의 확실한 업데이트가 필요합니다. 사용자 캘린더 보유 여부 용도: 실제 예약 생성/동기화가 필요한 시점에 필수 체크, 호스트의 온보딩 플로우의 완료조건 게스트의 성공적인 Booking 을 위해서는 실제 캘린더에 대한 접근이 필요하기 때문에, 호스트는 게스트가 Booking 하기 위해서는 캘린더를 무조건 보유해야 합니다. 예상되는 우려점은 호스트의 캘린더는 호스트가 Booking을 받을 준비가 되있다면 항상 존재 해야하며, 실제 올바른 호스트에 매핑이 되어야합니다. 만약 캘린더가 존재 하지않거나, 호스트 캘린더 ID 에 대한 검증이 제대로 동작 하지 않는다면, 게스트의 Booking 이 실패로 이어지거나 다른 호스트 캘린더에 등록이 될 수 있습니다.
중복 예약을 데이터베이스의 고유값 제약으로 예방하는 방법 조건은 1)동일 일자와 동일 타임 슬롯인 경우 중복으로 간주 2)약속(부킹)이 취소되어 attendance_status 모델 필드값이 cancellled인 경우 예약 가능 위를 구현하기 위해 데이터베이스에게 아래 정보가 고유해야 한다는 특별한 규칙을 알려줄 수 있습니다. 1)누가 예약하는지 2)언제 예약하는지 3)어느 시간대에 예약하는지 위의 세가지가 모두 같으면 중복 예약이라고 판단 합니다. 취소된 재예약은 가능하게 하기 위해 고유성 규칙에 한가지 예외를 부여합니다. 호스트, 날짜, 시간 슬롯의 조합은 고유해야 한다. 예외적으로 예약상태가 "취소됨"이라면 그 예약은 위의 고유성 규칙을 무시해 달라고 합니다. 새로운 예약 생성 시: 데이터베이스는 예약하려는 호스트, 날짜, 시간슬롯 정보를 보고, 현재 '취소됨' 상태가 아닌 다른 예약이 이미 있는지 찾아봅니다. 만약 '취소됨' 상태가 아닌 다른 예약이 이미 같은 자리에 있다면, 데이터베이스는 "안돼! 이미 예약된 자리야!"라고 하며 새로운 예약을 저장하지 못하게 합니다. 만약 같은 자리에 '취소됨' 상태가 아닌 예약이 없다면, 데이터베이스는 새로운 예약을 성공적으로 저장합니다. 예약 취소 시: 어떤 예약이 '취소됨(cancelled)' 상태로 변경되면, 데이터베이스의 이 "특별한 규칙"은 그 취소된 예약을 더 이상 고유성 검사 대상에서 제외 합니다. 이제 그 자리는 "비어있는" 것처럼 간주되므로, 다른 사람이 같은 호스트, 날짜, 시간슬롯 정로 새로운 예약을 만들 수 있게 됩니다.
사용자가 호스트인지 두 가지 방법으로 확인 가능합니다. 1. User 모델에 선언한 is_host 모델 필드가 True인지 확인 2.사용자가 캘린더를 보유했는지 확인 이 중 두 가지 방법 모두를 사용해야 한다고 생각합니다. 1. User 모델에 선언한 is_host 모델 필드가 True인지 확인 -> 관점적 측면에서 명시적이고 관리적인 역할 및 자격을 부여합니다. 즉 사용자가 호스트로 자격이 있다는 것을 의미합니다. 관리자가 특정 사용자를 호스트로 지정하거나 해제하는데 사용할 수 있고 캘린더의 유무와 별개로 관리가 가능하게 서비스의 효율을 향상시켜 줍니다. 2.사용자가 캘린더를 보유했는지 확인 ->실제 예약 요청이 들어 왔을 때 해당 호스트가 유효한 캘린더를 보유하고 있는지 확인하는 최종적인 역할을 할 수 있습니다. 즉 위의 두 정보가 모두 필요한 이유는 존재하지 않는 사용자의 username으로 캘린더 정보를 가져오려고 하거나 호스트가 아닌 사용자의 username으로 캘린더 정보를 가져오려고 하는 시도를 막을 수 있을것으로 예상됩니다. 요약하면 is host는 "호스트로서의 신분"을, 캘린더 보유 여부는 "호스트로서의 활동을 나타내는 정보여서 모두 필요합니다.
캡차 응답을 확인할 수 없습니다. 문제 해결 정보는 https://docs.github.com/articles/troubleshooting-connectivity-problems/#troubleshooting-the-captcha 를 참조하세요. 위와 같이 메시지가 뜨는데 회사나 기관의 네트워크을 사용하라고 하는데 꼭 고정IP를 사용해야 하는 건가 해서요. 집이나 도서관 등 유동IP는 사용이 불가능한 건가요?