ਐਨਾਲਿਟਿਕਸ ਟਰੈਕਿੰਗ: ਪਰਾਈਵੇਸੀ-ਫਸਟ ਈਵੈਂਟ ਕਲੈਕਸ਼ਨ
ਇਹ ਲੇਖ ਦੱਸਦਾ ਹੈ ਕਿ ਅਸੀਂ ਪਰਾਈਵੇਸੀ ਦਾ ਸਤਿਕਾਰ ਕਰਦੇ ਹੋਏ ਅਤੇ ਬੋਟ ਟ੍ਰੈਫਿਕ ਤੋਂ ਬਚਦੇ ਹੋਏ ਯੂਜ਼ਰ ਵਿਵਹਾਰ ਨੂੰ ਕਿਵੇਂ ਟਰੈਕ ਕਰਦੇ ਹਾਂ।
ਸਮੱਸਿਆ: ਯੂਜ਼ਰ ਵਿਵਹਾਰ ਨੂੰ ਸਮਝਣਾ
ਸਾਨੂੰ ਜਾਣਨ ਦੀ ਲੋੜ ਹੈ:
-
ਯੂਜ਼ਰ ਕਿਹੜੇ ਪੇਜ਼ ਵੇਖਦੇ ਹਨ
-
ਉਹ ਕਿਹੜੇ ਉਤਪਾਦ ਵੇਖਦੇ ਹਨ
-
ਟ੍ਰੈਫਿਕ ਕਿੱਥੋਂ ਆਉਂਦਾ ਹੈ (ਗੂਗਲ ਐਡਜ਼, ਆਰਗੈਨਿਕ, ਸੋਸ਼ਲ)
-
ਕਿਹੜੇ ਮੁਹਿੰਮਾਂ ਕਨਵਰਜ਼ਨ ਲਿਆਉਂਦੀਆਂ ਹਨ
ਪਰ ਸਾਨੂੰ ਇਹਨਾਂ ਤੋਂ ਬਚਣਾ ਹੈ:
-
ਬੋਟਸ ਅਤੇ ਕ੍ਰੌਲਰਾਂ ਨੂੰ ਟਰੈਕ ਕਰਨ ਤੋਂ
-
ਨਿੱਜੀ ਤੌਰ 'ਤੇ ਪਛਾਣਯੋਗ ਜਾਣਕਾਰੀ (PII) ਸਟੋਰ ਕਰਨ ਤੋਂ
-
ਪਰਾਈਵੇਸੀ ਨਿਯਮਾਂ ਦੀ ਉਲੰਘਣਾ ਤੋਂ
ਹੱਲ: ਕਲਾਇੰਟ-ਸਾਈਡ + ਸਰਵਰ-ਸਾਈਡ ਟਰੈਕਿੰਗ
ਕਲਾਇੰਟ-ਸਾਈਡ: ਜਾਵਾਸਕ੍ਰਿਪਟ ਟਰੈਕਿੰਗ
ਵਿਜ਼ਟਰ ਆਈਡੀ: ਕੂਕੀ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਗਿਆ ਰੈਂਡਮ ਆਈਡੀ (365 ਦਿਨ)
ਸੈਸ਼ਨ ਆਈਡੀ: ਸੈਸ਼ਨਸਟੋਰੇਜ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਗਿਆ ਰੈਂਡਮ ਆਈਡੀ (ਬ੍ਰਾਊਜ਼ਰ ਬੰਦ ਹੋਣ ਤੱਕ)
ਮੁਹਿੰਮ ਪੈਰਾਮੀਟਰ: URL ਤੋਂ ਕੱਢੇ ਅਤੇ ਸੈਸ਼ਨਸਟੋਰੇਜ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਗਏ
ਟਰੈਕ ਕੀਤੇ ਪੈਰਾਮੀਟਰ:
-
gclid- ਗੂਗਲ ਕਲਿੱਕ ਆਈਡੀ (ਖੋਜ ਇਸ਼ਤਿਹਾਰ) -
gbraid- ਗੂਗਲ ਐਡਜ਼ ਕਲਿੱਕ ਆਈਡੀ (ਸ਼ਾਪਿੰਗ ਇਸ਼ਤਿਹਾਰ) -
wbraid- ਗੂਗਲ ਐਡਜ਼ ਕਲਿੱਕ ਆਈਡੀ (iOS) -
fbclid- ਫੇਸਬੁੱਕ ਕਲਿੱਕ ਆਈਡੀ -
srsltid- ਗੂਗਲ ਆਰਗੈਨਿਕ ਖੋਜ ਨਤੀਜਾ ਆਈਡੀ -
utm_source,utm_medium,utm_campaign,utm_term,utm_content
ਸਟੋਰੇਜ: ਵਟਸਐਪ/ਫੋਨ ਕਲਿੱਕ ਐਟ੍ਰੀਬਿਊਸ਼ਨ ਲਈ ਪੈਰਾਮੀਟਰ ਕੂਕੀਜ਼ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ (30 ਮਿੰਟ)
ਸਰਵਰ-ਸਾਈਡ: ਸਮਰੱਥਾ ਵਧਾਉਣਾ
ਸਰਵਰ ਈਵੈਂਟਾਂ ਨੂੰ ਇਸ ਨਾਲ ਸਮਰੱਥ ਕਰਦਾ ਹੈ:
ਜੀਓਆਈਪੀ ਡੇਟਾ: ਆਈਪੀ ਐਡਰੈੱਸ ਤੋਂ ਦੇਸ਼, ਖੇਤਰ, ਸ਼ਹਿਰ
ਯੂਜ਼ਰ-ਏਜੰਟ ਪਾਰਸਿੰਗ: ਬ੍ਰਾਊਜ਼ਰ, ਓਐਸ, ਡਿਵਾਈਸ ਦੀ ਕਿਸਮ
ਟਾਈਮਸਟੈਂਪ: ਸਰਵਰ ਸਮਾਂ (UTC)
ਬੋਟ ਡਿਟੈਕਸ਼ਨ: ਜਾਣੇ-ਪਛਾਣੇ ਬੋਟ ਯੂਜ਼ਰ-ਏਜੰਟਸ ਨੂੰ ਫਿਲਟਰ ਕਰਦਾ ਹੈ
ਈਵੈਂਟ ਦੀਆਂ ਕਿਸਮਾਂ
ਪੇਜ ਵਿਊ: ਯੂਜ਼ਰ ਕੋਈ ਪੇਜ ਵੇਖਦਾ ਹੈ
ਉਤਪਾਦ ਵਿਊ: ਯੂਜ਼ਰ ਉਤਪਾਦ ਪੇਜ ਵੇਖਦਾ ਹੈ
ਕਾਰਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ: ਯੂਜ਼ਰ ਉਤਪਾਦ ਨੂੰ ਕਾਰਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ
ਚੈੱਕਆਊਟ: ਯੂਜ਼ਰ ਚੈੱਕਆਊਟ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ
ਖਰੀਦ: ਯੂਜ਼ਰ ਖਰੀਦ ਪੂਰੀ ਕਰਦਾ ਹੈ
ਵਟਸਐਪ ਕਲਿੱਕ: ਯੂਜ਼ਰ ਵਟਸਐਪ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਦਾ ਹੈ
ਫੋਨ ਕਲਿੱਕ: ਯੂਜ਼ਰ ਫੋਨ ਨੰਬਰ 'ਤੇ ਕਲਿੱਕ ਕਰਦਾ ਹੈ
ਡੇਟਾ ਫਲੋ
sequenceDiagram
participant User
participant JS as JavaScript
participant API as /api/analytics
participant Firehose as Kinesis Firehose
participant S3
User->>JS: Visit page
JS->>JS: Extract URL params
(gclid, utm_*, etc.)
JS->>JS: Store in sessionStorage
JS->>API: POST event + params
API->>API: Enrich with GeoIP
API->>API: Parse User-Agent
API->>API: Filter bots
API->>Firehose: Send enriched event
Firehose->>S3: Store in analytics bucketਬੋਟ ਡਿਟੈਕਸ਼ਨ
ਅਸੀਂ ਕਈ ਸਿਗਨਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੋਟ ਟ੍ਰੈਫਿਕ ਨੂੰ ਫਿਲਟਰ ਕਰਦੇ ਹਾਂ:
ਯੂਜ਼ਰ-ਏਜੰਟ ਪੈਟਰਨ: ਜਾਣੇ-ਪਛਾਣੇ ਬੋਟ ਸਟ੍ਰਿੰਗ (ਗੂਗਲਬੋਟ, ਬਿੰਗਬੋਟ, ਆਦਿ)
ਵਿਵਹਾਰ ਪੈਟਰਨ: ਬਹੁਤ ਤੇਜ਼, ਬਹੁਤ ਸਾਰੀਆਂ ਬੇਨਤੀਆਂ
ਜਾਵਾਸਕ੍ਰਿਪਟ ਦੀ ਘਾਟ: ਬੋਟ ਅਕਸਰ JS ਚਲਾਉਂਦੇ ਨਹੀਂ ਹਨ
ਐਕਸਕਲੂਜ਼ਨ ਕੂਕੀ: tv_exclude=true ਸਾਰੀ ਟਰੈਕਿੰਗ ਰੋਕ ਦਿੰਦਾ ਹੈ
ਪਰਾਈਵੇਸੀ ਸੁਰੱਖਿਆ
ਕੋਈ PII ਨਹੀਂ: ਅਸੀਂ ਕਦੇ ਵੀ ਨਾਮ, ਈਮੇਲ, ਫੋਨ ਨੰਬਰ ਸਟੋਰ ਨਹੀਂ ਕਰਦੇ
ਅਣਪਛਾਤਾ ਆਈਪੀ: ਸਟੋਰੇਜ ਤੋਂ ਪਹਿਲਾਂ ਆਖਰੀ ਅਕਤੂ ਹਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ
ਕੋਈ ਕ੍ਰਾਸ-ਸਾਈਟ ਟਰੈਕਿੰਗ ਨਹੀਂ: ਕੂਕੀਜ਼ ਸਿਰਫ਼ ਫਸਟ-ਪਾਰਟੀ ਹਨ
ਆਪਟ-ਆਊਟ: ਯੂਜ਼ਰ ਐਕਸਕਲੂਜ਼ਨ ਕੂਕੀ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹਨ
ਡੇਟਾ ਰਿਟੈਂਸ਼ਨ: ਈਵੈਂਟ 90 ਦਿਨਾਂ ਬਾਅਦ ਮਿਟਾ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ
ਸ਼ਰਤੀਆ ਪਿਕਸਲ ਲੋਡਿੰਗ
ਅਸੀਂ ਸਿਰਫ਼ ਟਰੈਕਿੰਗ ਪਿਕਸਲ ਲੋਡ ਕਰਦੇ ਹਾਂ ਜਦੋਂ ਲਾਗੂ ਹੋਵੇ:
ਗੂਗਲ ਐਡਜ਼ ਪਿਕਸਲ: ਸਿਰਫ਼ ਜੇ gclid, gbraid, ਜਾਂ wbraid ਮੌਜੂਦ ਹੋਵੇ
ਲਿੰਕਡਇਨ ਪਿਕਸਲ: ਸਿਰਫ਼ ਜੇ msclkid ਮੌਜੂਦ ਹੋਵੇ
ਫੇਸਬੁੱਕ ਪਿਕਸਲ: ਸਿਰਫ਼ ਜੇ fbclid ਮੌਜੂਦ ਹੋਵੇ
ਲਾਭ: ਤੇਜ਼ ਪੇਜ ਲੋਡ, ਘੱਟ ਟਰੈਕਿੰਗ ਓਵਰਹੈੱਡ
ਟ੍ਰੈਫਿਕ ਸਰੋਤ ਡਿਟੈਕਸ਼ਨ
ਅਸੀਂ URL ਪੈਰਾਮੀਟਰ ਤੋਂ ਟ੍ਰੈਫਿਕ ਸਰੋਤ ਦਾ ਪਤਾ ਲਗਾਉਂਦੇ ਹਾਂ:
ਗੂਗਲ ਐਡਜ਼: gclid, gbraid, wbraid → utm_source=google_ads
ਗੂਗਲ ਆਰਗੈਨਿਕ: srsltid → utm_source=google_search
ਫੇਸਬੁੱਕ: fbclid → utm_source=facebook
ਲਿੰਕਡਇਨ: msclkid → utm_source=linkedin
ਡਾਇਰੈਕਟ: ਕੋਈ ਪੈਰਾਮੀਟਰ ਨਹੀਂ → utm_source=direct
ਕਨਵਰਜ਼ਨ ਟਰੈਕਿੰਗ
ਅਸੀਂ ਫਨਲ ਰਾਹੀਂ ਕਨਵਰਜ਼ਨ ਟਰੈਕ ਕਰਦੇ ਹਾਂ:
ਉਤਪਾਦ ਵਿਊ → ਕਾਰਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ → ਚੈੱਕਆਊਟ → ਖਰੀਦ
ਹਰੇਕ ਕਦਮ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ:
-
ਵਿਜ਼ਟਰ ਆਈਡੀ (ਐਟ੍ਰੀਬਿਊਸ਼ਨ ਲਈ)
-
ਸੈਸ਼ਨ ਆਈਡੀ (ਸੈਸ਼ਨ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ)
-
ਮੁਹਿੰਮ ਪੈਰਾਮੀਟਰ (ROI ਗਣਨਾ ਲਈ)
-
ਉਤਪਾਦ SKU (ਉਤਪਾਦ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ)
ਲੀਡ ਟੱਚ ਟਰੈਕਿੰਗ
ਜਦੋਂ ਯੂਜ਼ਰ ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰਦੇ ਹਨ (ਵਟਸਐਪ, ਫੋਨ, ਈਮੇਲ), ਅਸੀਂ ਕੈਪਚਰ ਕਰਦੇ ਹਾਂ:
ਸੰਪਰਕ ਵਿਧੀ: ਵਟਸਐਪ, ਫੋਨ, ਈਮੇਲ
ਮੁਹਿੰਮ ਪੈਰਾਮੀਟਰ: ਕੂਕੀਜ਼ ਤੋਂ (30-ਮਿੰਟ ਦੀ ਵਿੰਡੋ)
ਉਤਪਾਦ ਸੰਦਰਭ: ਉਹ ਕਿਹੜੇ ਉਤਪਾਦ ਪੇਜ 'ਤੇ ਸਨ
ਲਾਭ: ਆਫਲਾਈਨ ਕਨਵਰਜ਼ਨ ਨੂੰ ਆਨਲਾਈਨ ਮੁਹਿੰਮਾਂ ਨਾਲ ਜੋੜੋ
ਰੇਟ ਲਿਮਿਟਿੰਗ
ਐਨਾਲਿਟਿਕਸ ਐਂਡਪੁਇੰਟ ਰੇਟ-ਲਿਮਿਟਡ ਹੈ:
ਲਿਮਿਟ: ਪ੍ਰਤੀ ਆਈਪੀ 10 ਮਿੰਟ ਵਿੱਚ 100 ਬੇਨਤੀਆਂ
ਲਾਭ: ਦੁਰਵਿਵਹਾਰ ਅਤੇ ਬੋਟ ਹਮਲਿਆਂ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ
ਸਟੋਰੇਜ
ਈਵੈਂਟ Kinesis Firehose ਰਾਹੀਂ S3 ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ:
ਫਾਰਮੈਟ: JSON ਲਾਈਨਾਂ (ਇੱਕ ਈਵੈਂਟ ਪ੍ਰਤੀ ਲਾਈਨ)
ਪਾਰਟੀਸ਼ਨਿੰਗ: ਤਾਰੀਖ ਅਨੁਸਾਰ (ਸਾਲ/ਮਹੀਨਾ/ਦਿਨ/ਘੰਟਾ)
ਕੰਪ੍ਰੈਸ਼ਨ: Gzip
ਰਿਟੈਂਸ਼ਨ: 90 ਦਿਨ
ਕੁਐਰੀ ਕਰਨਾ
ਈਵੈਂਟ AWS Athena ਰਾਹੀਂ ਕੁਐਰੀ ਕੀਤੇ ਜਾਂਦੇ ਹਨ:
ਸਕੀਮਾ: Glue ਡੇਟਾ ਕੈਟਾਲਾਗ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ
ਕੁਐਰੀਜ਼: S3 ਡੇਟਾ 'ਤੇ SQL
ਵਰਤੋਂ ਦੇ ਕੇਸ: ਮੁਹਿੰਮ ROI, ਉਤਪਾਦ ਦੀ ਪ੍ਰਸਿੱਧੀ, ਟ੍ਰੈਫਿਕ ਸਰੋਤ
ਹਵਾਲੇ
ਤਕਨੀਕੀ ਸੰਕਲਪ
-
ਵੈੱਬ ਐਨਾਲਿਟਿਕਸ - ਵਿਕੀਪੀਡੀਆ
-
ਡਿਜ਼ਾਈਨ ਦੁਆਰਾ ਪਰਾਈਵੇਸੀ - ਵਿਕੀਪੀਡੀਆ
AWS ਸੇਵਾਵਾਂ
-
Kinesis Firehose - AWS ਦਸਤਾਵੇਜ਼
-
[Athena](