Attribute (속성)
Attribute(속성)는 HTML Element에 붙는 추가 정보입니다. 택배 상자의 송장처럼, 이름표(id), 분류표(class), 목적지(href) 등을 통해 각 Element를 식별하고 동작을 결정합니다.
🤔 혹시 이런 경험 있으신가요?
- "GTM에서 클릭 트리거를 설정하려는데, Click Classes, Click ID가 뭔지 모르겠다."
- "개발자가 'class명이 뭔가요?'라고 물어보는데, 무슨 말인지 감이 안 온다."
- "웹사이트 소스를 보면
id,class,href같은 게 잔뜩 붙어 있는데, 각각 무슨 역할인지 궁금하다."
이전 글에서 Element(요소)가 웹페이지를 이루는 부품이라고 배웠습니다. 그런데 같은 종류의 부품이 한 페이지에 수십 개씩 있다면, 어떻게 서로 구별할 수 있을까요?
바로 Attribute(속성) 덕분입니다. Attribute는 각 Element에 붙는 이름표이자 설명서입니다.
🔑 Attribute, 한마디로 뭘까요?
Attribute(속성)는 HTML Element에 추가 정보를 부여하는 이름=값 쌍입니다.
HTML 코드에서 여는 태그 안에 이름="값" 형태로 작성됩니다. 예를 들어 아래 코드를 보겠습니다.
<button id="purchase-btn" class="primary large">구매하기</button>여기서 id="purchase-btn"과 class="primary large"가 모두 Attribute입니다. <button>이라는 Element에 "너의 고유 이름은 purchase-btn이고, 스타일은 primary와 large를 적용해"라는 추가 정보를 붙인 것이죠.
🏷️ 첫 번째 비유: 택배 상자의 송장
이전 글에서 Element를 택배 상자에 비유했습니다. Attribute는 그 상자에 붙어 있는 송장 스티커입니다.
같은 크기의 갈색 박스가 100개 있다고 생각해 보세요. 겉모습만으로는 어떤 상자에 뭐가 들었는지 알 수 없습니다. 하지만 송장을 보면 모든 것을 파악할 수 있습니다.
| 송장 항목 | HTML Attribute | 예시 |
|---|---|---|
| 운송장 번호 | id | id="order-12345" |
| 상품 분류 | class | class="fragile express" |
| 배송지 주소 | href | href="https://example.com" |
| 내용물 사진 | src | src="/images/product.jpg" |
| 취급 주의 메모 | alt, title | alt="유리 제품 주의" |
택배 기사가 송장만 보고 상자를 정확히 분류하듯, JavaScript나 CSS도 Attribute를 보고 정확한 Element를 찾아 스타일을 입히거나 동작을 실행합니다.
🪪 두 번째 비유: 사람의 신분증
Attribute를 사람에게 비유하면 더 직관적입니다.
회사에 "김민수"라는 이름의 직원이 3명 있다고 합시다. 이름(태그)만으로는 누구를 말하는지 알 수 없습니다. 하지만 추가 정보가 붙으면 구분이 가능합니다.
- 사번(id): 유일한 식별 번호.
id="EMP-0042"→ 딱 한 명만 가리킵니다. - 소속 부서(class): 여러 명이 같은 부서일 수 있습니다.
class="마케팅팀 시니어"→ 마케팅팀 시니어 전원을 한 번에 묶을 수 있습니다. - 이메일(href): 연락할 수 있는 주소.
href="mailto:minsu@company.com"→ 어디로 연결되는지 알려줍니다.
이것이 Attribute의 핵심입니다. 같은 종류의 Element라도 Attribute가 달라지면 완전히 다른 역할을 하게 됩니다.
⚙️ 자주 만나는 Attribute 6가지
웹에는 수십 가지 Attribute가 있지만, 마케터가 실무에서 특히 자주 마주치는 것은 아래 6가지입니다.
1. id: 유일한 이름표
페이지 전체에서 단 하나만 존재하는 고유 식별자입니다. 주민등록번호처럼 중복이 없어야 합니다.
<div id="hero-section">메인 배너 영역</div>GTM에서 특정 버튼 하나만 추적하고 싶을 때, id로 정확히 지목할 수 있습니다.
2. class: 분류 태그
여러 Element에 같은 이름을 공유할 수 있는 분류표입니다. 하나의 Element에 여러 class를 띄어쓰기로 붙일 수도 있습니다.
<button class="btn primary large">시작하기</button>
<button class="btn secondary">취소</button>위 두 버튼은 모두 btn class를 공유하지만, 하나는 primary large, 다른 하나는 secondary입니다. CSS는 이 class를 보고 각각 다른 색상과 크기를 입힙니다.
3. href: 목적지 주소
링크(<a>) Element가 어디로 연결되는지 알려주는 Attribute입니다.
<a href="https://example.com/pricing">요금제 보기</a>GA에서 외부 링크 클릭을 추적할 때, href 값을 기준으로 필터링하는 경우가 많습니다.
4. src: 파일 경로
이미지(<img>), 스크립트(<script>) 등이 불러올 파일의 위치를 지정합니다.
<img src="/images/banner.jpg" alt="신년 프로모션 배너">5. alt: 대체 텍스트
이미지가 로드되지 않을 때 보여줄 설명 텍스트입니다. 검색 엔진이 이미지 내용을 파악하는 데도 사용하므로 SEO에 중요합니다.
<img src="/images/chart.png" alt="2024년 분기별 매출 성장 추이 그래프">6. data-*: 사용자 정의 속성
개발자가 자유롭게 만드는 커스텀 Attribute입니다. data- 뒤에 원하는 이름을 붙여 사용합니다.
<button data-event="signup" data-location="header">무료 체험</button>GTM에서 data-event, data-location 같은 커스텀 속성을 읽어 이벤트 추적에 활용하는 경우가 매우 많습니다. 개발자에게 "이 버튼에 data-event 속성을 추가해 주세요"라고 요청하면, 복잡한 CSS Selector 없이도 깔끔하게 추적할 수 있습니다.
💡 이걸 알면 마케터에게 뭐가 좋을까요?
1. GTM 트리거 설정이 자유로워집니다
GTM에서 클릭 이벤트를 설정하면 Click ID, Click Classes, Click URL 같은 변수가 자동으로 잡힙니다. 이것들이 전부 클릭된 Element의 Attribute 값입니다.
Click ID= 클릭된 Element의idAttributeClick Classes= 클릭된 Element의classAttributeClick URL= 클릭된<a>Element의hrefAttribute
Attribute를 이해하면 "CTA 버튼 클릭만 추적"하는 트리거를 직접 만들 수 있습니다. 예를 들어, Click Classes에 cta-button이 포함된 경우에만 이벤트를 발생시키는 식이죠.
2. CSS Selector를 읽을 수 있게 됩니다
GA나 히트맵 도구에서 "이 Element를 추적합니다"라는 메시지와 함께 #hero-section .cta-button 같은 코드를 보여줄 때가 있습니다.
#hero-section=id가 "hero-section"인 Element.cta-button=class가 "cta-button"인 Element
이 표기법을 이해하면, 어떤 Element가 추적되고 있는지 바로 파악할 수 있습니다.
3. 개발자와 소통이 정확해집니다
"그 버튼에 추적 코드 좀 넣어주세요" 대신 "CTA 버튼에 data-event="signup" Attribute를 추가해 주세요"라고 요청하면, 개발자가 정확히 무엇을 해야 하는지 즉시 이해합니다. 커뮤니케이션 비용이 크게 줄어듭니다.
📋 30초 요약
- Attribute(속성) 는 Element에 붙는 추가 정보로,
이름="값"형태입니다. 택배 송장처럼 각 Element를 식별하고 동작을 결정합니다. - 가장 많이 쓰이는 Attribute는 id(고유 이름), class(분류), href(링크 주소), src(파일 경로), alt(대체 텍스트), data-*(커스텀) 입니다.
- GTM의 Click ID, Click Classes, Click URL은 모두 클릭된 Element의 Attribute 값입니다. 이 연결 고리를 이해하면 이벤트 추적 설정이 훨씬 쉬워집니다.
다음에 GTM에서 트리거를 설정할 때, "이 변수가 어떤 Attribute를 읽어오는 거지?"라고 한번 생각해 보세요. 그 순간, 단순한 설정 따라하기에서 원리를 이해하는 단계로 올라서게 됩니다!
참고 자료
이 글이 도움이 되셨다면 공유해 주세요
메신저로 바로 보내거나 링크를 복사할 수 있습니다.
HTML Attribute(속성)에 대한 설명으로 올바른 것은?
이어서 배우면 좋은 개념
Element (요소)
웹페이지를 구성하는 가장 작은 부품이 Element(요소)입니다. 버튼, 이미지, 텍스트 등 화면에 보이는 모든 것이 각각 하나의 Element이며, 이들이 조립되어 하나의 웹사이트를 완성합니다.
HTML (HyperText Markup Language)
웹페이지의 구조와 의미를 정의하는 마크업 언어입니다. 제목, 링크, 이미지 같은 요소로 페이지의 뼈대를 만듭니다.
Selector (선택자)
웹페이지에서 특정 Element를 찾아내기 위한 '주소'나 '이름표' 같은 것입니다. CSS에서 스타일을 적용하거나, GTM에서 클릭 이벤트를 추적할 때 '이 버튼'을 지정하는 방법입니다.
DOM (Document Object Model)
브라우저가 HTML 문서를 읽어 만든 트리 구조로, 자바스크립트가 웹페이지의 요소를 찾고 조작할 때 쓰는 통로입니다.
관련 인사이트
- 구글애즈 향상된 전환 정리: 개념, 설정 방법, 2026년 6월 통합 변경향상된 전환은 해싱된 자사 고객 데이터를 구글에 전송해 전환 측정의 정확성을 높이는 Google Ads 기능입니다. 쿠키만으로 잇지 못하는 전환을 복구하는 원리와 구글애즈, GTM 설정 순서, 2026년 6월 통합 변경까지 공식 문서를 근거로 정리했습니다.
- GA4에서 세션 소스/매체에 (not set)이 보이는 이유GA4 트래픽 획득 보고서에서 세션 소스/매체가 (not set)으로 잡히는 원인을 정리했습니다. 데이터 처리 지연, 비활성 세션 재개, Measurement Protocol, 잠재고객 트리거 이벤트 등 실제 원인별로 왜 발생하는지, 그리고 어떻게 대응해야 하는지를 초보자 눈높이에서 설명합니다.
- React SPA에서 GTM 설치하기 | 페이지뷰 추적 완벽 가이드리액트 같은 SPA 환경에서는 일반 웹사이트처럼 GTM을 설치해서는 안 됩니다. dataLayer를 올바르게 설정하고, 라우팅 이벤트를 추적하는 방법을 단계별로 설명합니다.
- 데이터 드리븐 마케팅의 기술, 구글과 메타 데이터 드리븐 캠페인 전략 21편에서 향상된 전환, 가치 기반 입찰, 오디언스 시그널 등 플랫폼 안의 데이터 활용법을 다뤘다면, 2편에서는 캠페인의 뼈대와 토양을 다룹니다. 인크리멘탈리티 기반 예산 배분, AI 학습을 위한 캠페인 구조 설계, 상품 피드 최적화, 랜딩페이지 시그널, 그리고 퍼스트파티 데이터 인프라가 만드는 기술적 해자까지 정리했습니다.
- GTM 디버깅 실전 가이드: 태그가 안 찍힐 때 원인 찾는 법GTM에서 태그가 안 찍힐 때 원인을 빠르게 찾는 실전 가이드. Preview 모드 활용법, 5대 원인 분석, Network 탭으로 실제 전송 확인하는 방법, 그리고 실무에서 자주 겪는 디버깅 케이스까지 정리했습니다.
