쿠키라는 이름의 빵 부스러기
제14화
발행일: 2025년 06월 05일
알렉스는 며칠 동안 데이터베이스 스키마 설계에 매달렸다. user_id
와 segment_id
를 어떻게 효율적으로 연결하고, 수십억 개의 행을 가진 테이블에서 어떻게 밀리초 단위로 데이터를 꺼내올 수 있을까. 그는 온갖 종류의 데이터베이스 기술과 인덱싱 기법을 연구하며 밤을 지새웠다.
어느 정도 설계의 윤곽이 잡혔을 때, 그는 근본적인 질문에 부딪혔다.
‘그래서, 이 user_id
는 대체 어디서 오는 거지?’
DMP의 모든 것은 사용자를 식별하는 고유한 ID가 있다는 가정하에 성립된다. 하지만 웹은 본질적으로 익명성이 보장되는 공간이다. 사용자가 웹사이트를 방문할 때마다, 서버는 그를 처음 보는 손님처럼 대한다. 지난번에 방문했던 그 사람이라는 것을 알 방법이 없다.
그는 사라에게 다가가 자신의 고민을 털어놓았다.
“사라, 저희가 설계하는 모든 것은 사용자 ID-123
이 car-review.com
과 google.com
양쪽에서 동일한 ID-123
으로 식별된다는 것을 전제로 합니다. 하지만 서로 다른 웹사이트가 어떻게 동일한 사용자를 알아볼 수 있는 겁니까?”
사라는 예상했다는 듯 미소를 지었다.
“드디어 그 질문을 하는군, 알렉스. 숲을 설계하다 보니 나무가 궁금해진 거지. 자네는 지금 DMP라는 거대한 성의 설계도를 그리고 있지만, 그 성을 지탱하는 가장 작은 벽돌의 정체를 묻고 있는 거야.”
그녀는 알렉스를 자신의 자리로 이끌었다. 그리고 브라우저의 개발자 도구를 열어 한 항목을 클릭했다. 화면에는 해당 웹사이트가 알렉스의 컴퓨터에 저장해 놓은 작은 데이터 조각들의 목록이 나타났다.
Name: session_id | Value: 987xyz
Name: user_lang | Value: en-US
“이게 바로 그 벽돌이야. 우리는 이걸 ‘쿠키(Cookie)’라고 부르지.”
쿠키. 알렉스는 물론 그 단어를 알고 있었다. 웹 개발의 가장 기본적인 개념. 하지만 그것이 수십억 달러 규모의 광고 생태계를 지탱하는 핵심 기술이라는 사실은 미처 깨닫지 못했다.
사라는 쿠키의 작동 원리를 차근차근 설명했다.
“아주 간단한 원리야. 마치 옷 가게 점원이 단골손님의 얼굴을 기억하는 대신, 손님에게 ‘단골손님 번호표 123번’을 나눠주고, 다음에 올 때 그 번호표를 보여달라고 하는 것과 같아.”
- 첫 방문: 사용자가 처음으로 구글에 접속하면, 구글 서버는 사용자의 브라우저에 ‘안녕하세요, 당신의 구글 ID는
abc1234
입니다’라는 내용이 담긴 작은 텍스트 파일, 즉 쿠키를 저장하도록 명령한다. - 재방문: 다음에 사용자가 다시 구글에 접속하면, 브라우저는 요청을 보낼 때 저장해 두었던 쿠키를 자동으로 함께 보낸다. ‘안녕하세요, 저번에 오셨던
abc1234
입니다.’ - 서버의 인식: 구글 서버는 이
abc1234
라는 쿠키 값을 보고, ‘아, 지난번에 왔던 그 사용자로군!’ 하고 인식하게 된다.
“이 쿠키 덕분에 우리는 사용자가 로그인하지 않아도, 검색 기록을 개인화해주거나 장바구니에 담은 물건을 기억해줄 수 있는 거야.”
알렉스는 고개를 끄덕였다. 여기까지는 그가 아는 내용이었다.
“하지만 그건 구글 안에서만 통하는 얘기 아닙니까? 구글이 발행한 쿠키는 구글 웹사이트에 접속할 때만 보내지는 걸로 압니다. 어떻게 ‘글로벌 헤럴드’ 같은 다른 사이트가 구글의 쿠키를 알 수 있죠?”
“그게 바로 우리가 풀어야 할 마법의 핵심이지.” 사라의 눈이 반짝였다. “우리는 이것을 ‘제3자 쿠키(Third-party Cookie)’라고 불러.”
그녀는 그림을 그렸다.
“사용자가 ‘글로벌 헤럴드’에 접속한다고 생각해보자. 그 페이지 안에는 눈에 보이지 않는, 아주 작은 1x1 픽셀짜리 이미지가 숨어 있어. 그리고 그 이미지의 주소는 우리 구글 서버를 가리키고 있지. <img src="google.com/pixel.gif">
이런 식으로.”
“브라우저는 페이지의 모든 요소를 불러오기 위해, 이 작은 픽셀 이미지도 구글 서버에 요청하게 돼. 그리고 바로 그때! 브라우저는 구글에 요청을 보내는 것이므로, 이전에 구글이 심어두었던 사용자 ID 쿠키(abc1234
)를 함께 보내게 되는 거야.”
알렉스는 숨을 멈췄다.
“그럼 우리 구글 서버는… 사용자가 직접 구글에 접속하지 않았음에도 불구하고, 사용자 abc1234
가 지금 ‘글로벌 헤럴드’의 특정 페이지를 보고 있다는 사실을 알게 되는군요.”
“정확해.”
그것은 놀랍도록 단순하면서도 강력한 아이디어였다. 동화 속 헨젤과 그레텔이 숲속에 빵 부스러기를 남겨 자신의 길을 표시했듯, 구글은 인터넷 곳곳에 보이지 않는 픽셀이라는 빵 부스러기를 심어두고, 쿠키라는 번호표를 가진 사용자들이 그 위를 지나갈 때마다 그들의 동선을 파악하는 것이었다.
알렉스는 비로소 DMP의 가장 근본적인 데이터 수집 원리를 이해했다. 그가 설계하던 거대한 데이터베이스는, 바로 이 작은 빵 부스러기들이 모여 만들어지는 거대한 지도였던 것이다. 그는 이 작은 텍스트 조각이 가진 어마어마한 잠재력에 전율했다.