사용자 속성은 언어 환경설정, 지리적 위치와 같은 사용자층을 나눈 세그먼트를 설명합니다. 애널리틱스에서는 일부 사용자 속성을 자동으로 로깅합니다. 추가 속성을 수집하려면 프로젝트당 최대 25개의 추가 사용자 속성을 설정할 수 있습니다. 사용자 속성을 설정하고 등록하는 방법은 맞춤 사용자 속성을 참조하세요.
사용자 속성은 사용자 세분화를 강화하지만 사용자 속성 데이터는 주로 서버 측에서만 사용할 수 있습니다. 측정 프로토콜을 사용하면
서버 측 데이터를 사용하여 클라이언트 측 측정을 수행하는데, 이는 일반적으로
클라이언트 측 솔루션만 사용합니다
예약된 이름
일부 사용자 속성 이름은 이미 예약되어 있으므로 측정에 사용할 수 없습니다.
first_open_time
first_visit_time
last_deep_link_referrer
user_id
first_open_after_install
또한 사용자 속성 이름은 다음으로 시작할 수 없습니다.
google_
ga_
firebase_
사용 예시
다음 예시에서 CRM에는 측정에 추가할 사용자 속성 (customer_tier)이 있습니다. customer_tier은 premium 또는 standard 중
하나로 설정할 수 있습니다. 보고서에서 이 사용자 속성을 가져오려면
다음과 같이 하세요.
다음 예시에서는 요청 수준 타임스탬프와
customer_tier 사용자 속성 따라서 측정 프로토콜은
customer_tier: customerTierUnixEpochTimeInMicros의 타임스탬프,
customer_group은 requestUnixEpochTimeInMicros의 타임스탬프입니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-26(UTC)"],[[["\u003cp\u003eUser properties are attributes that describe segments of your user base, like language or location, and you can set up to 25 custom ones.\u003c/p\u003e\n"],["\u003cp\u003eThe Measurement Protocol allows you to combine server-side data with client-side measurements to enhance user property data.\u003c/p\u003e\n"],["\u003cp\u003eCertain user property names are reserved and cannot be used, including ones that start with \u003ccode\u003egoogle_\u003c/code\u003e, \u003ccode\u003ega_\u003c/code\u003e, or \u003ccode\u003efirebase_\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eYou can send user properties with events or in separate requests to enrich your Analytics data.\u003c/p\u003e\n"],["\u003cp\u003eTimestamps for user properties can be overridden at the request level or individually for specific properties to ensure data accuracy.\u003c/p\u003e\n"]]],["User properties segment users based on characteristics like language or location, with up to 25 custom properties per project. The Measurement Protocol enriches client-side data with server-side insights, improving segmentation. Reserved property names and prefixes cannot be used. Server code can augment client events with user properties like `customer_tier`. Timestamps for properties are prioritized from individual entries to request level, and the most recent property value is used. Overriding timestamps is crucial for historical data.\n"],null,["# Send user properties\n\nUser properties describe segments of your user base, such as language preference\nor geographic location. Analytics [automatically logs some user properties](https://support.google.com/analytics/answer/9268042). If\nyou want to collect additional properties, you can set up to 25 additional user\nproperties per project. See [Custom user properties](https://support.google.com/analytics/answer/9269570) to learn how to set and\nregister user properties.\n\nUser properties enhance user segmentation, but user property data is often only\navailable server-side. The Measurement Protocol lets you augment\nclient-side measurements with server-side data, which is typically infeasible\nusing only client-side solutions.\n\nReserved names\n--------------\n\nSome user property names are reserved and cannot be used in measurements:\n\n- `first_open_time`\n- `first_visit_time`\n- `last_deep_link_referrer`\n- `user_id`\n- `first_open_after_install`\n\nAdditionally, user property names cannot begin with:\n\n- `google_`\n- `ga_`\n- `firebase_`\n\nExample usage\n-------------\n\nFirebase gtag.js\n\nIn the following example, your CRM has a user property (`customer_tier`) you\nwould like to add to your measurements. `customer_tier` can be set to one of\n`premium` or `standard`. To get this user property in your reports, you would do\nthe following:\n\nFirst, have the client send an [`add_payment_info`](/analytics/devguides/collection/protocol/ga4/reference/events#add_payment_info) event along with a call to a\nserver API that has access to your CRM system:\n\n**client code**\n\nYour server then augments the measurement with the `customer_tier` user property\nusing the Measurement Protocol:\n\n**server code**\n| **Tip:** This sample shows how to send a user property along with an event. You can also send a request that *only* contains user properties, without any events.\n\nThis user property reports the two segments `premium` and `standard`.\n| **Key Point:** User properties can improve segmentation using data that's only available server-side through use of the Measurement Protocol.\n\nSee [Sending events](/analytics/devguides/collection/protocol/ga4/sending-events) for full details on how to send events using the\nMeasurement Protocol.\n\nOverride timestamp\n------------------\n\nThe Measurement Protocol uses the *first* timestamp it finds in the following\nlist for each user property in the request:\n\n1. The `timestamp_micros` of the entry in `user_properties`.\n2. The `timestamp_micros` of the request.\n3. The time that the Measurement Protocol receives the request.\n\nThe following example sends a request-level timestamp that applies to all of\nthe user properties in the request. As a result, the Measurement Protocol assigns\nboth the `customer_tier` and `customer_group` user properties a timestamp of\n`requestUnixEpochTimeInMicros`. \n\n {\n \"timestamp_micros\": requestUnixEpochTimeInMicros,\n \"user_properties\": {\n \"customer_tier\": {\n \"value\": customerTierValue\n },\n \"customer_group\": {\n \"value\": customerGroupValue\n }\n }\n }\n\nThe following example sends both a request-level timestamp and a timestamp for\nthe `customer_tier` user property. As a result, the Measurement Protocol assigns\nthe `customer_tier` a timestamp of `customerTierUnixEpochTimeInMicros`, and the\n`customer_group` a timestamp of `requestUnixEpochTimeInMicros`. \n\n \"timestamp_micros\": requestUnixEpochTimeInMicros,\n \"user_properties\": {\n \"customer_tier\": {\n \"value\": customerTierValue,\n \"timestamp_micros\": customerTierUnixEpochTimeInMicros\n },\n \"customer_group\": {\n \"value\": customerGroupValue\n }\n }\n\n| **Tip:** Google Analytics uses the most recent value of a user property for each user. If you're sending user property changes that occurred in the past, override the timestamp to ensure that the user properties from Measurement Protocol don't override more recent changes from tagging or the Firebase SDK."]]