Skip to main content

Data flow overview

Hotel visitor browser
  -> TinyBell pixel (JS loaded on hotel website)
  -> TinyBell server (processes notification logic)
  -> Response: HTML/JS notification widget
  -> Tracking: impression/click/hover events

Data collected by the pixel

When a visitor loads a page with the TinyBell pixel installed, the following data is processed server-side to determine which notifications to show:
Data pointSourceStoredPurpose
IP addressHTTP requestTemporarily (GeoIP lookup only, not logged)Determine country and city for geo-targeting
Country codeMaxMind GeoIPYes (in tracking events)Geo-targeting rules, analytics
City nameMaxMind GeoIPNoGeo Welcome widget placeholder only
Browser languageAccept-Language headerYes (in tracking events)Language-based targeting, auto-translation
Browser nameUser-AgentYes (in tracking events)Browser-based targeting
OS nameUser-AgentYes (in tracking events)Device analytics
Page URLReferer / JSYes (in tracking events)URL-based targeting, page analytics
Device typeScreen width via JSYes (in tracking events)Mobile/desktop targeting

Data NOT collected

TinyBell does not collect:
  • Names, email addresses, or phone numbers (unless the visitor voluntarily submits them via a Collector widget)
  • Cookies for cross-site tracking
  • Browsing history beyond the hotel website
  • Financial or payment information
  • Biometric data
  • Social media profiles

Tracking events

Each interaction generates a tracking event stored in the track_notifications table:
FieldDescription
typeEvent type: impression, hover, or click
notification_idWhich notification was shown
campaign_idWhich property/campaign
urlPage where the event occurred
country_codeVisitor country (ISO 3166-1)
browser_languageTwo-letter language code
browser_nameBrowser identifier
os_nameOperating system
datetimeTimestamp of the event

Data retention

  • Tracking events: Retained for the duration of the customer’s active subscription
  • Account data: Retained until account deletion is requested
  • Cookie consent logs: Retained in CSV format, accessible only by the account owner

Data deletion

Hotel owners can delete their tracking data at any time from the dashboard. Upon account deletion, all associated data (campaigns, notifications, tracking events) is permanently removed from our database. Under GDPR Article 17, visitors can request data deletion by contacting the hotel (data controller). The hotel can then purge relevant data through TinyBell.

Sub-processors

ServicePurposeLocation
MaxMind GeoLite2IP-to-location lookupLocal database file (no external API calls)
StripePayment processingEU/US
Nager.Date APIHoliday detection (Holiday Urgency widget)EU
Open-Meteo APIWeather data (Weather Widget)EU

Encryption

  • In transit: TLS 1.2+ for all connections
  • At rest: Database stored on encrypted volumes
  • Passwords: Bcrypt hashed, never stored in plain text