Last active
April 12, 2025 03:23
-
-
Save yamitake/5f568381785661b3e7b1e6bffb824da8 to your computer and use it in GitHub Desktop.
Rails用Google Tag Manager ViewHelper
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module GtmHelper | |
GTM_SCRIPT = "(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':" \ | |
"new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0]," \ | |
"j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=" \ | |
"'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);" \ | |
"})(window,document,'script','dataLayer','%s');".freeze | |
GTM_IFRAME_URL = "https://www.googletagmanager.com/ns.html?id=%s".freeze | |
def gtm_key = @gtm_key ||= Rails.application.config_for(:gtm)["key"] || "SET_GTM_KEY" | |
def render_gtm_head = tag.script(GTM_SCRIPT % gtm_key, escape: false) | |
def render_gtm_body = tag.noscript(tag.iframe(nil, src: GTM_IFRAME_URL % gtm_key, height: 0, width: 0, style: "display:none;visibility:hidden")) | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment