누군가 페이지가 수익화되었다고 말하기 전에는 보통 페이지에 무언가가 추가됩니다. 제목 위의 리더보드나 화면 아래쪽의 고정 광고 단위 같은 것입니다. 이런 말투는 수익이 면적에서 나오며, 남는 면적이 없는 페이지에는 남는 수익도 없다고 가정합니다. 업계 자체의 표준도 이 가정을 공유합니다. 표준은 광고가 페이지에서 차지하는 비율로 광고를 측정하며, 다른 인벤토리에 대해서는 아무것도 말하지 않습니다.
공개된 표준은 광고를 페이지 높이에 대한 비율로 제한합니다
공개된 두 규칙이 면적 가정을 명시합니다. 더 나은 광고를 위한 연합(Coalition for Better Ads)은 더 나은 광고 표준(Better Ads Standards)에 미달하는 광고 경험을 나열합니다. 모바일 목록에는 "30%를 넘는 광고 밀도"가, 데스크톱 목록에는 "50%를 넘는 광고 밀도"가 들어 있습니다.1 정의는 산술입니다. 페이지의 주요 콘텐츠 영역에 있는 모든 광고의 높이를 합산하여 그 영역의 전체 높이로 나눕니다.2 Google의 게시자 정책은 비슷한 한도를 말로 정합니다. Google 게재 광고는 "게시자 콘텐츠보다 광고나 기타 유료 홍보 자료가 더 많은 화면"에는 허용되지 않습니다.3
어느 한도에든 가까운 퍼블리셔가 광고 단위에서 더 많은 것을 얻으려면 두 가지 선택이 있습니다. 첫째는 광고 단위 아래에 콘텐츠를 추가해 비율을 낮추는 것입니다. 둘째는 다시 디자인하여, 기존 요소를 옮기거나 줄여 공간을 만드는 것입니다. 어느 선택도 광고 단위가 높이를 차지해야 한다는 요건을 없애지 못합니다.
페이지에 이미 있는 단어는 그 규칙이 한 번도 측정하지 않은 인벤토리입니다
텍스트로 된 페이지에서 퍼블리셔가 아직 팔지 않은 것은 텍스트 주변의 빈 공간이 아닙니다. 바로 단어 자체입니다. 글에서 이미 다루고 있는 제품명, 도구명, 지명, 서비스 같은 것입니다. 이들은 말 그대로의 인벤토리입니다. 광고주가 구매할 수 있고, 이미 최종 위치에 놓여 있습니다.
인텍스트 버블이 판매하는 것이 바로 그것입니다. 임베드는 스크립트 adbubbles.js 하나이며, 사이트에 들어가면 글에 이미 나오는 단어에 옅은 점선 밑줄이 그어집니다. 마우스를 올리거나 탭하면 그 단어에서 버블이 열립니다. 버블에는 "Ad"(광고) 표시, 최대 40자의 제목, 최대 90자의 본문, 광고주의 표시 도메인, 링크 하나, "Ads by AdBubbles" 표시가 들어 있습니다. 단어는 원래 자리에 그대로 있으며, 버블은 마우스가 벗어나거나, Escape 키를 누르거나, 바깥을 탭하면 닫힙니다.
이런 방식으로 텍스트를 읽는 것은 평범한 브라우저 작업입니다. MDN Web Docs는 TreeWalker 객체를 "문서 하위 트리의 노드와 그 안의 위치를 나타내는" 객체로 설명합니다.4 그 노드들을 차례로 훑는 스크립트는 단어를 읽을 뿐, 레이아웃에 아무것도 더하지 않습니다. 임베드는 퍼블리셔가 설정한 범위만 검사합니다.
임베드가 어디를 읽고 얼마나 보여 줄지는 퍼블리셔가 정합니다
퍼블리셔가 정하는 설정은 세 가지입니다. 첫째는 범위로, article 요소처럼 임베드가 검사할 수 있는 페이지 영역입니다. 둘째는 한 페이지의 최대 버블 수입니다. 셋째는 제외할 광고주 카테고리 목록으로, AdBubbles가 모든 곳에서 금지하는 도박, 성인, 무기, 암호화폐, 건강보조식품, 정치 외에 추가로 지정합니다. 범위 안에서 임베드는 제목, 링크, 코드, 서식이 지정된 텍스트, 양식 컨트롤, 내비게이션, 머리글, 바닥글, 그리고 data-noads로 표시된 모든 요소를 건너뜁니다.
임베드는 구매된 각 단어가 처음 나오는 곳에 밑줄을 긋고, 단어당 버블은 최대 하나만 엽니다. 두 버블이 한 단락에 함께 있는 일은 없으며, 페이지에는 최대 개수보다 많은 버블이 실리지 않습니다. 퍼블리셔 대시보드는 버블이 표시된 페이지 조회수, 열람, 클릭, 수익을 보고하며, 열람은 1초 동안 표시된 버블을 말합니다.
계정과 임베드는 무료입니다. 사이트를 인증한 퍼블리셔는 다른 무엇을 결정하기 전에 크롤링을 요청해 현재 판매 가능한 단어 목록을 읽어 볼 수 있습니다. 퍼블리셔 페이지에 그 단계가 설명되어 있으며, 문서에는 범위와 페이지당 상한을 설정하는 곳이 나와 있습니다.
새 디스플레이 광고 단위는 수익을 내기도 전에 템플릿을 바꿉니다
디스플레이 광고 단위는 로드되기도 전에 페이지를 바꿉니다. 움직이는 콘텐츠에 관한 Core Web Vital인 Cumulative Layout Shift에 대한 Google의 지침은 콘텐츠를 페이지 아래로 밀어내는 원인으로 광고, 삽입 요소, iframe을 꼽습니다. 권장 해결책은 CSS에서 최소 높이나 가로세로 비율을 지정해 초기 레이아웃에 공간을 확보하는 것입니다.5 공간을 확보하는 것은 템플릿 수정입니다. IAB Tech Lab의 새 광고 포트폴리오(New Ad Portfolio)는 표준 광고 단위를 "고정된 픽셀 크기가 아니라 가로세로 비율과 크기 범위에 기반한" 것으로 설명합니다.6 따라서 상자는 일정한 범위에 맞아야 합니다.
광고 단위는 보통 스크립트도 함께 가져옵니다. HTTP Archive의 2024 Web Almanac에 따르면 페이지의 92%가 적어도 하나의 서드파티를 로드합니다. 그중 거의 3분의 1이 광고, 분석, 동의 관리를 제공합니다.7 따라서 디스플레이 광고 단위는 다른 도메인으로의 요청, 요청이 돌아오기 전에 크기가 정해진 상자, 스타일시트 규칙을 함께 가져오기 마련입니다. 이는 세 개의 작은 부분으로 된 재디자인이며, 그 광고 단위의 수익은 여전히 높이 한도에 포함됩니다.
버블의 스타일시트와 사이트의 스타일시트는 서로 영향을 줄 수 없습니다
재디자인은 보통 스타일시트에서 시작되며, 사이트의 CSS를 깨뜨릴 수 있는 광고 형식이라면 그곳을 수정해야 할 것입니다. 버블은 Shadow DOM 안에서 렌더링됩니다. MDN Web Docs는 그 효과를 한 문장으로 설명합니다. "페이지 CSS는 shadow DOM 안의 노드에 영향을 주지 않습니다." 반대로 shadow 트리 안에서 정의된 스타일은 그 트리에만 적용됩니다.8 사이트의 스타일시트는 손대지 않은 채로 남습니다.
눈에 띄지 않으면서 관련성 있는 것이 연구가 지지하는 조합입니다
2011년 Marketing Science에 보고된 현장 실험에서 Goldfarb와 Tucker는 광고를 사이트 콘텐츠와 일치시키는 것과 더 눈에 띄게 만드는 것이 각각 독립적으로 구매 의향을 높인다는 것을 발견했습니다. 둘을 결합하면 효과가 없었습니다. 둘 다 한 광고는 둘 중 하나만 한 광고보다 구매 의향을 높이는 효과가 떨어졌습니다. 저자들은 이 결과를 개인정보 우려와 연결하며, 효과는 개인정보에 민감한 소비자 사이에서, 그리고 개인정보에 민감한 카테고리에서 가장 강했습니다.9 버블은 단어가 곧 콘텐츠이므로 구조상 콘텐츠와 일치하며, 독자가 마우스를 올리거나 탭하기 전까지는 공간을 차지하지 않습니다.
AdBubbles는 페이지의 단어를 그달에 그 사이트에서 그 단어를 구매한 단 한 명의 광고주와 짝지어 줍니다. 저희는 누가 버블을 볼지 고르지 않고, 페이지나 사이트 사이에서 독자를 따라다니지 않으며, 결과를 약속하지 않습니다. AdBubbles는 쿠키를 설정하지 않고, 식별자를 저장하지 않으며, 독자의 개인정보를 수집하지 않습니다. 임베드는 페이지 로드마다 조회 비컨을, 버블이 열릴 때 열람 비컨을, 링크를 따라갈 때 클릭 비컨을 보내며, 그 밖에는 아무것도 페이지를 떠나지 않습니다. 퍼블리셔는 자기 페이지에서 진행되는 캠페인에 광고주가 지불하는 금액의 70%를 받습니다.
사이트의 판매 가능한 단어는 손으로 셀 수 있습니다
그 인벤토리를 세는 데는 소프트웨어가 필요 없습니다. 어떤 사이트에서 가장 많이 읽히는 글 세 편이 각각 1,500단어이고, 세 편을 합쳐 제품 11개, 소프트웨어 도구 4개, 장소 6곳, 전문 서비스 3종을 언급한다고 가정해 봅시다. 그 24개의 명사가 광고주가 구매할 수 있는 단어이며, 각각은 이미 버블이 열릴 자리에 놓여 있습니다. 퍼블리셔는 이 단어들 중 어느 것이 사업체가 판매하는 무언가를 가리키는지라는 질문 하나를 염두에 두고 가장 많이 읽히는 페이지를 읽어 볼 수 있습니다. 페이지의 높이와 이미 그곳에 있는 광고 단위는 이 집계에 들어가지 않습니다.