ਐਨਾਲਿਟਿਕਸ ਟਰੈਕਿੰਗ: ਪਰਾਈਵੇਸੀ-ਫਸਟ ਈਵੈਂਟ ਕਲੈਕਸ਼ਨ

ਇਹ ਲੇਖ ਦੱਸਦਾ ਹੈ ਕਿ ਅਸੀਂ ਪਰਾਈਵੇਸੀ ਦਾ ਸਤਿਕਾਰ ਕਰਦੇ ਹੋਏ ਅਤੇ ਬੋਟ ਟ੍ਰੈਫਿਕ ਤੋਂ ਬਚਦੇ ਹੋਏ ਯੂਜ਼ਰ ਵਿਵਹਾਰ ਨੂੰ ਕਿਵੇਂ ਟਰੈਕ ਕਰਦੇ ਹਾਂ।

ਸਮੱਸਿਆ: ਯੂਜ਼ਰ ਵਿਵਹਾਰ ਨੂੰ ਸਮਝਣਾ

ਸਾਨੂੰ ਜਾਣਨ ਦੀ ਲੋੜ ਹੈ:

  • ਯੂਜ਼ਰ ਕਿਹੜੇ ਪੇਜ਼ ਵੇਖਦੇ ਹਨ

  • ਉਹ ਕਿਹੜੇ ਉਤਪਾਦ ਵੇਖਦੇ ਹਨ

  • ਟ੍ਰੈਫਿਕ ਕਿੱਥੋਂ ਆਉਂਦਾ ਹੈ (ਗੂਗਲ ਐਡਜ਼, ਆਰਗੈਨਿਕ, ਸੋਸ਼ਲ)

  • ਕਿਹੜੇ ਮੁਹਿੰਮਾਂ ਕਨਵਰਜ਼ਨ ਲਿਆਉਂਦੀਆਂ ਹਨ

ਪਰ ਸਾਨੂੰ ਇਹਨਾਂ ਤੋਂ ਬਚਣਾ ਹੈ:

  • ਬੋਟਸ ਅਤੇ ਕ੍ਰੌਲਰਾਂ ਨੂੰ ਟਰੈਕ ਕਰਨ ਤੋਂ

  • ਨਿੱਜੀ ਤੌਰ 'ਤੇ ਪਛਾਣਯੋਗ ਜਾਣਕਾਰੀ (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, wbraidutm_source=google_ads

ਗੂਗਲ ਆਰਗੈਨਿਕ: srsltidutm_source=google_search

ਫੇਸਬੁੱਕ: fbclidutm_source=facebook

ਲਿੰਕਡਇਨ: msclkidutm_source=linkedin

ਡਾਇਰੈਕਟ: ਕੋਈ ਪੈਰਾਮੀਟਰ ਨਹੀਂ → utm_source=direct

ਕਨਵਰਜ਼ਨ ਟਰੈਕਿੰਗ

ਅਸੀਂ ਫਨਲ ਰਾਹੀਂ ਕਨਵਰਜ਼ਨ ਟਰੈਕ ਕਰਦੇ ਹਾਂ:

ਉਤਪਾਦ ਵਿਊਕਾਰਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋਚੈੱਕਆਊਟਖਰੀਦ

ਹਰੇਕ ਕਦਮ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ:

  • ਵਿਜ਼ਟਰ ਆਈਡੀ (ਐਟ੍ਰੀਬਿਊਸ਼ਨ ਲਈ)

  • ਸੈਸ਼ਨ ਆਈਡੀ (ਸੈਸ਼ਨ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ)

  • ਮੁਹਿੰਮ ਪੈਰਾਮੀਟਰ (ROI ਗਣਨਾ ਲਈ)

  • ਉਤਪਾਦ SKU (ਉਤਪਾਦ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ)

ਲੀਡ ਟੱਚ ਟਰੈਕਿੰਗ

ਜਦੋਂ ਯੂਜ਼ਰ ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰਦੇ ਹਨ (ਵਟਸਐਪ, ਫੋਨ, ਈਮੇਲ), ਅਸੀਂ ਕੈਪਚਰ ਕਰਦੇ ਹਾਂ:

ਸੰਪਰਕ ਵਿਧੀ: ਵਟਸਐਪ, ਫੋਨ, ਈਮੇਲ

ਮੁਹਿੰਮ ਪੈਰਾਮੀਟਰ: ਕੂਕੀਜ਼ ਤੋਂ (30-ਮਿੰਟ ਦੀ ਵਿੰਡੋ)

ਉਤਪਾਦ ਸੰਦਰਭ: ਉਹ ਕਿਹੜੇ ਉਤਪਾਦ ਪੇਜ 'ਤੇ ਸਨ

ਲਾਭ: ਆਫਲਾਈਨ ਕਨਵਰਜ਼ਨ ਨੂੰ ਆਨਲਾਈਨ ਮੁਹਿੰਮਾਂ ਨਾਲ ਜੋੜੋ

ਰੇਟ ਲਿਮਿਟਿੰਗ

ਐਨਾਲਿਟਿਕਸ ਐਂਡਪੁਇੰਟ ਰੇਟ-ਲਿਮਿਟਡ ਹੈ:

ਲਿਮਿਟ: ਪ੍ਰਤੀ ਆਈਪੀ 10 ਮਿੰਟ ਵਿੱਚ 100 ਬੇਨਤੀਆਂ

ਲਾਭ: ਦੁਰਵਿਵਹਾਰ ਅਤੇ ਬੋਟ ਹਮਲਿਆਂ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ

ਸਟੋਰੇਜ

ਈਵੈਂਟ Kinesis Firehose ਰਾਹੀਂ S3 ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ:

ਫਾਰਮੈਟ: JSON ਲਾਈਨਾਂ (ਇੱਕ ਈਵੈਂਟ ਪ੍ਰਤੀ ਲਾਈਨ)

ਪਾਰਟੀਸ਼ਨਿੰਗ: ਤਾਰੀਖ ਅਨੁਸਾਰ (ਸਾਲ/ਮਹੀਨਾ/ਦਿਨ/ਘੰਟਾ)

ਕੰਪ੍ਰੈਸ਼ਨ: Gzip

ਰਿਟੈਂਸ਼ਨ: 90 ਦਿਨ

ਕੁਐਰੀ ਕਰਨਾ

ਈਵੈਂਟ AWS Athena ਰਾਹੀਂ ਕੁਐਰੀ ਕੀਤੇ ਜਾਂਦੇ ਹਨ:

ਸਕੀਮਾ: Glue ਡੇਟਾ ਕੈਟਾਲਾਗ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ

ਕੁਐਰੀਜ਼: S3 ਡੇਟਾ 'ਤੇ SQL

ਵਰਤੋਂ ਦੇ ਕੇਸ: ਮੁਹਿੰਮ ROI, ਉਤਪਾਦ ਦੀ ਪ੍ਰਸਿੱਧੀ, ਟ੍ਰੈਫਿਕ ਸਰੋਤ

ਹਵਾਲੇ

ਤਕਨੀਕੀ ਸੰਕਲਪ

AWS ਸੇਵਾਵਾਂ