Module: Omnitrack::Helpers::ViewHelpers

Defined in:
lib/omnitrack/helpers/view_helpers.rb

Overview

Rails view helpers for injecting tracking pixels and JS snippets. Auto-included in ActionView::Base by the Railtie when in frontend mode.

Instance Method Summary collapse

Instance Method Details

#omnitrack_event_tag(event_name, **payload) ⇒ Object

Emit a single <script> block to push a custom event to all enabled platforms. Place after a key action (e.g., order confirmation page):

<%= omnitrack_event_tag("purchase", value: 99.00, currency: "USD") %>


28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/omnitrack/helpers/view_helpers.rb', line 28

def omnitrack_event_tag(event_name, **payload)
  return "".html_safe unless Omnitrack.frontend_mode?

  js = []
  js << gtag_event(event_name, payload) if Omnitrack.config.adapter_enabled?(:google_analytics)
  js << fbq_event(event_name, payload)  if Omnitrack.config.adapter_enabled?(:meta)
  js << ttq_event(event_name, payload)  if Omnitrack.config.adapter_enabled?(:tiktok)

  return "".html_safe if js.empty?

  (:script) { js.join("\n").html_safe }
end

#omnitrack_tagsObject

Emit all enabled platform JS/pixel tags as a single HTML blob. Place in your layout <head>:

<%= omnitrack_tags %>


13
14
15
16
17
18
19
20
21
22
23
# File 'lib/omnitrack/helpers/view_helpers.rb', line 13

def omnitrack_tags
  return "".html_safe unless Omnitrack.frontend_mode?

  tags = []
  tags << google_analytics_tag    if Omnitrack.config.adapter_enabled?(:google_analytics)
  tags << meta_pixel_tag          if Omnitrack.config.adapter_enabled?(:meta)
  tags << tiktok_pixel_tag        if Omnitrack.config.adapter_enabled?(:tiktok)
  tags << snapchat_pixel_tag      if Omnitrack.config.adapter_enabled?(:snapchat)

  tags.compact.join("\n").html_safe
end