Skip to content

(fix) Backfill visitor referrer if missing#36

Merged
kyle-neal merged 2 commits intomainfrom
fix/referrer
Apr 15, 2026
Merged

(fix) Backfill visitor referrer if missing#36
kyle-neal merged 2 commits intomainfrom
fix/referrer

Conversation

@kyle-neal
Copy link
Copy Markdown
Owner

This pull request enhances visitor tracking by improving how referrer information is captured, stored, and backfilled for both visitors and individual page visits. The changes ensure that referrer data is consistently recorded, even for returning visitors who initially lacked this information. Additionally, the referrer field is now explicitly tracked on each page visit, and the codebase and tests have been updated accordingly.

Referrer handling improvements:

  • Added logic to backfill the referrer field for existing visitors if it was previously missing, ensuring that once a referrer is known, it is preserved and not overwritten on subsequent visits. (lib/revstack/tracking/service.ex, lib/revstack/tracking/visitor.ex, test/revstack/tracking/service_test.exs) [1] [2] [3] [4]
  • Updated the visitor tracking plug to normalize blank referer headers and to fall back to a session-stored referrer if the header is missing, preserving referrer information across requests. (lib/revstack_web/plugs/visitor_tracking.ex, test/revstack_web/plugs/visitor_tracking_test.exs) [1] [2] [3]

Page visit enhancements:

  • Added a referrer field to the visitor_page_visits table and model, allowing each page visit to record its specific referrer. (priv/repo/migrations/20260413090000_add_referrer_to_visitor_page_visits.exs, lib/revstack/tracking/visitor_page_visit.ex, lib/revstack/tracking/service.ex, test/revstack/tracking/service_test.exs, test/revstack/tracking/visitor_page_visit_resource_test.exs) [1] [2] [3] [4] [5] [6] [7] [8]

Testing improvements:

  • Added and updated tests to cover referrer backfilling, preservation, and storage on both visitor and page visit records, ensuring correct behavior for new and returning visitors. (test/revstack/tracking/service_test.exs, test/revstack/tracking/visitor_page_visit_resource_test.exs, test/revstack_web/plugs/visitor_tracking_test.exs) [1] [2] [3] [4] [5] [6]

@kyle-neal kyle-neal merged commit 408657e into main Apr 15, 2026
1 check passed
@kyle-neal kyle-neal deleted the fix/referrer branch April 15, 2026 03:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant