അനലിറ്റിക്സ് ട്രാക്കിംഗ്: സ്വകാര്യത-ഫസ്റ്റ് ഇവന്റ് കളക്ഷൻ
ഈ ലേഖനം, സ്വകാര്യതയെ മാനിച്ചുകൊണ്ടും ബോട്ട് ട്രാഫിക് ഒഴിവാക്കിക്കൊണ്ടും ഞങ്ങൾ ഉപയോക്തൃ പെരുമാറ്റം എങ്ങനെ ട്രാക്ക് ചെയ്യുന്നു എന്ന് വിശദീകരിക്കുന്നു.
പ്രശ്നം: ഉപയോക്തൃ പെരുമാറ്റം മനസ്സിലാക്കൽ
ഞങ്ങൾക്ക് അറിയേണ്ടത്:
-
ഉപയോക്താക്കൾ ഏത് പേജുകൾ സന്ദർശിക്കുന്നു
-
അവർ ഏത് ഉൽപ്പന്നങ്ങൾ കാണുന്നു
-
ട്രാഫിക് എവിടെ നിന്നാണ് വരുന്നത് (Google Ads, ഓർഗാനിക്, സോഷ്യൽ)
-
ഏത് കാമ്പെയ്നുകൾ കൺവേർഷനുകൾ നയിക്കുന്നു
എന്നാൽ ഞങ്ങൾ ഒഴിവാക്കേണ്ടത്:
-
ബോട്ടുകളും ക്രാളറുകളും ട്രാക്ക് ചെയ്യുന്നത്
-
വ്യക്തിഗതമായി തിരിച്ചറിയാൻ കഴിയുന്ന വിവരങ്ങൾ (PII) സംഭരിക്കുന്നത്
-
സ്വകാര്യതാ ചട്ടങ്ങൾ ലംഘിക്കുന്നത്
പരിഹാരം: ക്ലയന്റ്-സൈഡ് + സെർവർ-സൈഡ് ട്രാക്കിംഗ്
ക്ലയന്റ്-സൈഡ്: JavaScript ട്രാക്കിംഗ്
വിസിറ്റർ ID: കുക്കിയിൽ സംഭരിച്ചിരിക്കുന്ന റാൻഡം ID (365 ദിവസം)
സെഷൻ ID: sessionStorage-ൽ സംഭരിച്ചിരിക്കുന്ന റാൻഡം ID (ബ്രൗസർ അടയ്ക്കുന്നത് വരെ)
കാമ്പെയ്ൻ പാരാമുകൾ: URL-ൽ നിന്ന് എക്സ്ട്രാക്റ്റ് ചെയ്ത് sessionStorage-ൽ സംഭരിക്കുന്നു
ട്രാക്ക് ചെയ്ത പാരാമുകൾ:
-
gclid- Google ക്ലിക്ക് ID (തിരയൽ പരസ്യങ്ങൾ) -
gbraid- Google Ads ക്ലിക്ക് ID (ഷോപ്പിംഗ് പരസ്യങ്ങൾ) -
wbraid- Google Ads ക്ലിക്ക് ID (iOS) -
fbclid- Facebook ക്ലിക്ക് ID -
srsltid- Google ഓർഗാനിക് തിരയൽ ഫലം ID -
utm_source,utm_medium,utm_campaign,utm_term,utm_content
സംഭരണം: WhatsApp/ഫോൺ ക്ലിക്ക് ആട്രിബ്യൂഷനായി പാരാമുകൾ കുക്കികളിൽ (30 മിനിറ്റ്) സംഭരിക്കുന്നു
സെർവർ-സൈഡ്: എൻറിച്ച്മെന്റ്
സെർവർ ഇവന്റുകളെ ഇനിപ്പറയുന്നവ ഉപയോഗിച്ച് സമ്പുഷ്ടമാക്കുന്നു:
GeoIP ഡാറ്റ: IP വിലാസത്തിൽ നിന്നുള്ള രാജ്യം, മേഖല, നഗരം
User-Agent പാഴ്സിംഗ്: ബ്രൗസർ, OS, ഉപകരണ തരം
ടൈംസ്റ്റാമ്പ്: സെർവർ സമയം (UTC)
ബോട്ട് കണ്ടെത്തൽ: അറിയപ്പെടുന്ന ബോട്ട് user-agent-കളെ ഫിൽട്ടർ ചെയ്യുന്നു
ഇവന്റ് തരങ്ങൾ
പേജ് വ്യൂ: ഉപയോക്താവ് ഒരു പേജ് സന്ദർശിക്കുന്നു
ഉൽപ്പന്ന വ്യൂ: ഉപയോക്താവ് ഉൽപ്പന്ന പേജ് കാണുന്നു
കാർട്ടിൽ ചേർക്കുക: ഉപയോക്താവ് കാർട്ടിൽ ഉൽപ്പന്നം ചേർക്കുന്നു
ചെക്ക്ഔട്ട്: ഉപയോക്താവ് ചെക്ക്ഔട്ട് ആരംഭിക്കുന്നു
വാങ്ങൽ: ഉപയോക്താവ് വാങ്ങൽ പൂർത്തിയാക്കുന്നു
WhatsApp ക്ലിക്ക്: ഉപയോക്താവ് WhatsApp ബട്ടൺ ക്ലിക്ക് ചെയ്യുന്നു
ഫോൺ ക്ലിക്ക്: ഉപയോക്താവ് ഫോൺ നമ്പർ ക്ലിക്ക് ചെയ്യുന്നു
ഡാറ്റ ഫ്ലോ
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ബോട്ട് കണ്ടെത്തൽ
ഒന്നിലധികം സിഗ്നലുകൾ ഉപയോഗിച്ച് ഞങ്ങൾ ബോട്ട് ട്രാഫിക് ഫിൽട്ടർ ചെയ്യുന്നു:
User-Agent പാറ്റേണുകൾ: അറിയപ്പെടുന്ന ബോട്ട് സ്ട്രിംഗുകൾ (Googlebot, Bingbot, മുതലായവ)
പെരുമാറ്റ പാറ്റേണുകൾ: വളരെ വേഗത്തിൽ, വളരെയധികം അഭ്യർത്ഥനകൾ
JavaScript നഷ്ടപ്പെടുന്നു: ബോട്ടുകൾ പലപ്പോഴും JS എക്സിക്യൂട്ട് ചെയ്യുന്നില്ല
ഒഴിവാക്കൽ കുക്കി: tv_exclude=true എല്ലാ ട്രാക്കിംഗും നിർത്തുന്നു
സ്വകാര്യതാ സംരക്ഷണം
PII ഇല്ല: ഞങ്ങൾ പേരുകളും ഇമെയിലുകളും ഫോൺ നമ്പറുകളും ഒരിക്കലും സംഭരിക്കുന്നില്ല
ഡാറ്റ നിലനിർത്തൽ: 30 ദിവസത്തിന് ശേഷം ഇവന്റുകൾ ഇല്ലാതാക്കുന്നു
നിബന്ധനാപരമായ പിക്സൽ ലോഡിംഗ്
പ്രസക്തമാകുമ്പോൾ മാത്രം ഞങ്ങൾ ട്രാക്കിംഗ് പിക്സലുകൾ ലോഡ് ചെയ്യുന്നു:
Google Ads പിക്സൽ: gclid, gbraid, wbraid, അല്ലെങ്കിൽ srsltid ഉണ്ടെങ്കിൽ മാത്രം
LinkedIn പിക്സൽ: li_fat_id, lipi, അല്ലെങ്കിൽ utm_source=linkedin ഉണ്ടെങ്കിൽ മാത്രം
ആനുകൂല്യം: വേഗതയേറിയ പേജ് ലോഡുകൾ, കുറഞ്ഞ ട്രാക്കിംഗ് ഓവർഹെഡ്
ട്രാഫിക് സോഴ്സ് കണ്ടെത്തൽ
URL പാരാമീറ്ററുകളിൽ നിന്ന് ഞങ്ങൾ ട്രാഫിക് സോഴ്സ് കണ്ടെത്തുന്നു:
Google Ads: gclid, gbraid, wbraid → utm_source=google_ads
Google Organic: srsltid → utm_source=google_search
കൺവേർഷൻ ട്രാക്കിംഗ്
ഫണൽ വഴി ഞങ്ങൾ കൺവേർഷനുകൾ ട്രാക്ക് ചെയ്യുന്നു:
ഉൽപ്പന്ന വ്യൂ → കാർട്ടിൽ ചേർക്കുക → ചെക്ക്ഔട്ട് → വാങ്ങൽ
ഓരോ ഘട്ടത്തിലും ഉൾപ്പെടുന്നു:
-
വിസിറ്റർ ID (ആട്രിബ്യൂഷനായി)
-
സെഷൻ ID (സെഷൻ വിശകലനത്തിനായി)
-
കാമ്പെയ്ൻ പാരാമുകൾ (ROI കണക്കുകൂട്ടലിനായി)
-
ഉൽപ്പന്ന SKU (ഉൽപ്പന്ന വിശകലനത്തിനായി)
ലീഡ് ടച്ച് ട്രാക്കിംഗ്
ഉപയോക്താക്കൾ ഞങ്ങളെ ബന്ധപ്പെടുമ്പോൾ (WhatsApp, ഫോൺ, ഇമെയിൽ), ഞങ്ങൾ പിടിച്ചെടുക്കുന്നത്:
കോൺടാക്റ്റ് രീതി: WhatsApp, ഫോൺ, ഇമെയിൽ
കാമ്പെയ്ൻ പാരാമുകൾ: കുക്കികളിൽ നിന്ന് (30 മിനിറ്റ് വിൻഡോ)
ഉൽപ്പന്ന സന്ദർഭം: അവർ ഏത് ഉൽപ്പന്ന പേജിലായിരുന്നു
ആനുകൂല്യം: ഓൺലൈൻ കാമ്പെയ്നുകളിലേക്ക് ഓഫ്ലൈൻ കൺവേർഷനുകൾ ആട്രിബ്യൂട്ട് ചെയ്യുക
സംഭരണം
ഇവന്റുകൾ Kinesis Firehose വഴി S3-ൽ സംഭരിക്കുന്നു:
ഫോർമാറ്റ്: JSON ലൈനുകൾ (ഒരു വരിയിൽ ഒരു ഇവന്റ്)
പാർട്ടീഷനിംഗ്: തീയതി പ്രകാരം (വർഷം/മാസം/ദിവസം/മണിക്കൂർ)
കംപ്രഷൻ: Gzip
നിലനിർത്തൽ: 30 ദിവസം
ക്വറിയിംഗ്
ഇവന്റുകൾ AWS Athena വഴി ക്വറി ചെയ്യുന്നു:
സ്കീമ: Glue Data Catalog-ൽ നിർവചിച്ചിരിക്കുന്നു
ക്വറികൾ: S3 ഡാറ്റയിലെ SQL
ഉപയോഗ കേസുകൾ: കാമ്പെയ്ൻ ROI, ഉൽപ്പന്ന ജനപ്രീതി, ട്രാഫിക് സോഴ്സുകൾ
റഫറൻസുകൾ
സാങ്കേതിക ആശയങ്ങൾ
-
വെബ് അനലിറ്റിക്സ് - Wikipedia
-
പ്രൈവസി ബൈ ഡിസൈൻ - Wikipedia
AWS സേവനങ്ങൾ
-
Kinesis Firehose - AWS ഡോക്യുമെന്റേഷൻ
-
Athena - AWS ഡോക്യുമെന്റേഷൻ
അനുബന്ധ ലേഖനങ്ങൾ
- മൾട്ടി-സെർവർ ആർക്കിടെക്ചർ - അനലിറ്റിക്സ് പ്രവർത്തിക്കുന്ന സ്ഥലം
സംഗ്രഹം
ഞങ്ങളുടെ അനലിറ്റിക്സ് സിസ്റ്റം സ്വകാര്യതയെ മാനിച്ചുകൊണ്ട് ഉപയോക്തൃ പെരുമാറ്റം ട്രാക്ക് ചെയ്യുന്നു:
ക്ലയന്റ്-സൈഡ്:
-
✅ URL-ൽ നിന്ന് കാമ്പെയ്ൻ പാരാമുകൾ എക്സ്ട്രാക്റ്റ് ചെയ്യുക
-
✅ sessionStorage-ൽ സംഭരിക്കുക (സെഷൻ-സ്കോപ്പുചെയ്തത്)
-
✅ കുക്കികളിൽ സംഭരിക്കുക (ആട്രിബ്യൂഷനായി 30 മിനിറ്റ്)
-
✅ API-ലേക്ക് ഇവന്റുകൾ അയയ്ക്കുക
സെർവർ-സൈഡ്:
-
✅ GeoIP, User-Agent എന്നിവ ഉപയോഗിച്ച് സമ്പുഷ്ടമാക്കുക
-
✅ ബോട്ട് ട്രാഫിക് ഫിൽട്ടർ ചെയ്യുക
-
✅ Kinesis Firehose-ലേക്ക് അയയ്ക്കുക
-
✅ S3-ൽ സംഭരിക്കുക (തീയതി പ്രകാരം വിഭജിച്ചിരിക്കുന്നു)
സ്വകാര്യത:
-
✅ PII സംഭരിച്ചിട്ടില്ല
-
✅ 30 ദിവസത്തെ നിലനിർത്തൽ
നിബന്ധനാപരമായ ലോഡിംഗ്:
-
✅ gclid ഉണ്ടെങ്കിൽ മാത്രം Google Ads പിക്സൽ
-
✅ li_fat_id ഉണ്ടെങ്കിൽ മാത്രം LinkedIn പിക്സൽ
ഈ സമീപനം ഉൾക്കാഴ്ചകളെ സ്വകാര്യതയും പ്രകടനവുമായി സന്തുലിതമാക്കുന്നു.