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
-
#omnitrack_event_tag(event_name, **payload) ⇒ Object
Emit a single <script> block to push a custom event to all enabled platforms.
-
#omnitrack_tags ⇒ Object
Emit all enabled platform JS/pixel tags as a single HTML blob.
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? content_tag(:script) { js.join("\n").html_safe } end |
#omnitrack_tags ⇒ Object
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 return "".html_safe unless Omnitrack.frontend_mode? = [] << google_analytics_tag if Omnitrack.config.adapter_enabled?(:google_analytics) << if Omnitrack.config.adapter_enabled?(:meta) << tiktok_pixel_tag if Omnitrack.config.adapter_enabled?(:tiktok) << snapchat_pixel_tag if Omnitrack.config.adapter_enabled?(:snapchat) .compact.join("\n").html_safe end |