એનાલિટિક્સ ટ્રેકિંગ: પ્રાઈવેસી-ફર્સ્ટ ઇવેન્ટ કલેક્શન
આ લેખ સમજાવે છે કે કેવી રીતે અમે યુઝર પ્રાઈવેસીનો આદર કરતા અને બોટ ટ્રાફિકથી દૂર રહીને યુઝર વર્તન ટ્રેક કરીએ છીએ.
સમસ્યા: યુઝર વર્તન સમજવું
અમારે જાણવાની જરૂર છે:
-
યુઝર્સ કઈ પેજીસ મુલાકાત લે છે
-
તેઓ કઈ પ્રોડક્ટ્સ જુએ છે
-
ટ્રાફિક ક્યાંથી આવે છે (Google Ads, ઓર્ગેનિક, સોશિયલ)
-
કયા કેમ્પેઇન્સ કન્વર્ઝન્સ લાવે છે
પરંતુ અમારે આથી દૂર રહેવું જોઈએ:
-
બોટ્સ અને ક્રોલર્સને ટ્રેક કરવું
-
વ્યક્તિગત ઓળખાય તેવી માહિતી (PII) સ્ટોર કરવી
-
પ્રાઈવેસી નિયમોનું ઉલ્લંઘન કરવું
ઉકેલ: ક્લાયન્ટ-સાઈડ + સર્વર-સાઈડ ટ્રેકિંગ
ક્લાયન્ટ-સાઈડ: જાવાસ્ક્રિપ્ટ ટ્રેકિંગ
વિઝિટર ID: રેન્ડમ ID કૂકીમાં સ્ટોર થાય છે (365 દિવસ)
સેશન ID: રેન્ડમ ID સેશનસ્ટોરેજમાં સ્ટોર થાય છે (બ્રાઉઝર બંધ થાય ત્યાં સુધી)
કેમ્પેઇન પેરામીટર્સ: URL માંથી કાઢવામાં આવે છે અને સેશનસ્ટોરેજમાં સ્ટોર થાય છે
ટ્રેક કરેલ પેરામીટર્સ:
-
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
સ્ટોરેજ: વોટ્સએપ/ફોન ક્લિક એટ્રિબ્યુશન માટે પેરામીટર્સ કૂકીઝમાં સ્ટોર થાય છે (30 મિનિટ)
સર્વર-સાઈડ: એનરિચમેન્ટ
સર્વર ઇવેન્ટ્સને આનાથી સમૃદ્ધ કરે છે:
જીઓઆઈપી ડેટા: IP એડ્રેસ પરથી દેશ, રીજન, શહેર
યુઝર-એજન્ટ પાર્સિંગ: બ્રાઉઝર, OS, ડિવાઇસ પ્રકાર
ટાઇમસ્ટેમ્પ: સર્વર સમય (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બોટ ડિટેક્શન
અમે બહુવિધ સિગ્નલ્સનો ઉપયોગ કરીને બોટ ટ્રાફિકને ફિલ્ટર કરીએ છીએ:
યુઝર-એજન્ટ પેટર્ન: જાણીતા બોટ સ્ટ્રિંગ્સ (Googlebot, Bingbot, વગેરે)
વર્તન પેટર્ન: ખૂબ ઝડપી, ઘણી બધી રિક્વેસ્ટ્સ
ગુમ થયેલ જાવાસ્ક્રિપ્ટ: બોટ્સ ઘણી વખત JS એક્ઝિક્યુટ કરતા નથી
એક્સક્લુઝન કૂકી: tv_exclude=true બધા ટ્રેકિંગને રોકે છે
પ્રાઈવેસી પ્રોટેક્શન
કોઈ PII નહીં: અમે ક્યારેય નામો, ઇમેઇલ્સ, ફોન નંબર્સ સ્ટોર કરતા નથી
એનોનિમાઇઝ્ડ IPs: સ્ટોરેજ પહેલાં છેલ્લો ઓક્ટેટ દૂર કરવામાં આવે છે
કોઈ ક્રોસ-સાઈટ ટ્રેકિંગ: કૂકીઝ ફક્ત ફર્સ્ટ-પાર્ટી છે
ઓપ્ટ-આઉટ: યુઝર્સ એક્સક્લુઝન કૂકી સેટ કરી શકે છે
ડેટા રિટેન્શન: ઇવેન્ટ્સ 90 દિવસ પછી ડિલીટ થાય છે
કન્ડિશનલ પિક્સેલ લોડિંગ
અમે ફક્ત જ્યારે સંબંધિત હોય ત્યારે જ ટ્રેકિંગ પિક્સેલ લોડ કરીએ છીએ:
Google Ads પિક્સેલ: ફક્ત જો gclid, gbraid, અથવા wbraid હાજર હોય
LinkedIn પિક્સેલ: ફક્ત જો msclkid હાજર હોય
Facebook પિક્સેલ: ફક્ત જો fbclid હાજર હોય
ફાયદો: ઝડપી પેજ લોડ, ઓછું ટ્રેકિંગ ઓવરહેડ
ટ્રાફિક સોર્સ ડિટેક્શન
અમે URL પેરામીટર્સ પરથી ટ્રાફિક સોર્સ ડિટેક્ટ કરીએ છીએ:
Google Ads: gclid, gbraid, wbraid → utm_source=google_ads
Google ઓર્ગેનિક: srsltid → utm_source=google_search
Facebook: fbclid → utm_source=facebook
LinkedIn: msclkid → utm_source=linkedin
ડાયરેક્ટ: કોઈ પેરામીટર્સ નહીં → utm_source=direct
કન્વર્ઝન ટ્રેકિંગ
અમે ફનલ દ્વારા કન્વર્ઝન્સ ટ્રેક કરીએ છીએ:
પ્રોડક્ટ વ્યૂ → એડ ટુ કાર્ટ → ચેકઆઉટ → પર્ચેઝ
દરેક સ્ટેપમાં આનો સમાવેશ થાય છે:
-
વિઝિટર ID (એટ્રિબ્યુશન માટે)
-
સેશન ID (સેશન એનાલિસિસ માટે)
-
કેમ્પેઇન પેરામીટર્સ (ROI કેલ્ક્યુલેશન માટે)
-
પ્રોડક્ટ SKU (પ્રોડક્ટ એનાલિસિસ માટે)
લીડ ટચ ટ્રેકિંગ
જ્યારે યુઝર્સ અમારો સંપર્ક કરે છે (વોટ્સએપ, ફોન, ઇમેઇલ), અમે કેપ્ચર કરીએ છીએ:
સંપર્ક પદ્ધતિ: વોટ્સએપ, ફોન, ઇમેઇલ
કેમ્પેઇન પેરામીટર્સ: કૂકીઝ પરથી (30-મિનિટ વિન્ડો)
પ્રોડક્ટ કોન્ટેક્સ્ટ: તેઓ કઈ પ્રોડક્ટ પેજ પર હતા
ફાયદો: ઓફલાઇન કન્વર્ઝન્સને ઓનલાઇન કેમ્પેઇન્સ સાથે એટ્રિબ્યુટ કરો
રેટ લિમિટિંગ
એનાલિટિક્સ એન્ડપોઇન્ટ રેટ-લિમિટેડ છે:
લિમિટ: પ્રતિ IP પ્રતિ 10 મિનિટમાં 100 રિક્વેસ્ટ્સ
ફાયદો: અબ્યુઝ અને બોટ ફ્લડ્સને રોકે છે
સ્ટોરેજ
ઇવેન્ટ્સ Kinesis Firehose દ્વારા S3 માં સ્ટોર થાય છે:
ફોર્મેટ: JSON લાઇન્સ (એક લાઇન પર એક ઇવેન્ટ)
પાર્ટિશનિંગ: તારીખ દ્વારા (વર્ષ/મહિનો/દિવસ/કલાક)
કમ્પ્રેશન: Gzip
રિટેન્શન: 90 દિવસ
ક્વેરી કરવી
ઇવેન્ટ્સ AWS Athena દ્વારા ક્વેરી કરવામાં આવે છે:
સ્કીમા: Glue Data Catalog માં ડિફાઇન કરેલ
ક્વેરીઝ: S3 ડેટા પર SQL
યુઝ કેસિસ: કેમ્પેઇન ROI, પ્રોડક્ટ પોપ્યુલેરિટી, ટ્રાફિક સોર્સિસ
સંદર્ભો
ટેક્નિકલ કોન્સેપ્ટ્સ
-
વેબ એનાલિટિક્સ - વિકિપીડિયા
-
પ્રાઈવેસી બાય ડિઝાઇન - વિકિપીડિયા
AWS સર્વિસિસ
-
Kinesis Firehose - AWS ડોક્યુમેન્ટેશન
-
Athena - AWS ડોક્યુમેન્ટેશન
સંબંધિત લેખો
- મલ્ટી-સર્વર આર્કિટેક્ચર - જ્યાં એનાલિટિક્સ ચાલે છે
સારાંશ
અમારી એનાલિટિક્સ સિસ્ટમ યુઝર પ્રાઈવેસીનો આદર કરતા યુઝર વર્તન ટ્રેક કરે છે:
ક્લાયન્ટ-સાઈડ:
-
✅ URL માંથી કેમ્પેઇન પેરામીટર્સ કાઢો
-
✅ સેશનસ્ટોરેજમાં સ્ટોર કરો (સેશન-સ્કોપ્ડ)
-
✅ કૂકીઝમાં સ્ટોર કરો (એટ્રિબ્યુશન માટે 30 મિનિટ)
-
✅ API પર ઇવેન્ટ્સ મોકલો
સર્વર-સાઈડ:
- ✅ જીઓઆઈપી અને યુઝર-