Jump to content

Incluir Google Tag Manager - GTM


Recommended Posts

Preciso adicionar o script do Google Tag Manager - GTM.

 {literal}
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<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=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
{/literal}

No fórum internacional, encontrei uma dica de incluir no footer.tpl e não no index.tpl.

Isso funcionou na versão 1.6.0.11 mas não está funcionando na 1.6.0.6.

Mas na verdade não sei se é problema da versão ou alguma configuração dando conflito.

Uso o tema padrão default-bootstrap, sem alterações nestes arquivos.

Alguém já passou por isso? Alguma dica?

Obrigado por alguma ajuda.

Jorge

 

Link to comment
Share on other sites

index.tpl na verdade nao é um ficheiro em uso, mas que mapea outros ficheiros. Vc. pode adicionoar o código no header.tpl ou no footer.tpl antes de fechar o <body>.

 

Indique em que bloco vc. adicionou exatamente no ficheiro footer.tpl.

 

Em vez de manusear o códio manualmente, vc. também pode inserir (sem o literal) o código como módulo gratuíto HTML-Box. https://www.prestashop.com/forums/topic/189039-module-html-box-for-free/?hl=+html#8208box=&page=20. Inserindo o código lá vc. nao precisa se preocupar de aonde inserir corretamente para que funcione. ;-)

Link to comment
Share on other sites

Obrigado pelo rápido retorno selectshop.at.

E peço desculpas sobre o nome do arquivo index, na verdade eu queria me referir ao header.tpl.

Segui a tua instrução e usei o módulo HTML-Box para inserir o script, mas infelizmente não resolveu o problema.

O Tag Assistant do Chrome continua apresentando o erro: "<script> tag must not be included in a <strong>".

Segue parte do arquivo footer.tpl, onde inseri o script (mas removi quando usei o HTML-Box):

 

Tentei várias alternativas, desabilitando alguns módulos e inclusive desmarcando no painel do BO as opções:

Cache inteligente para JavaScript e Comprimir JavaScript inline em HTML, mas sem resultado.

Provavelmente tem algum conflito, pois como já comentei, na versão 1.6.0.11 o mesmo script funciona perfeito.

 

Novamente, agradeço pela atenção.

{*
* 2007-2014 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA 
*  @copyright  2007-2014 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}

 {literal}
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<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=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
{/literal}

{if !$content_only}
					</div><!-- #center_column -->
					{if isset($right_column_size) && !empty($right_column_size)}
						<div id="right_column" class="col-xs-12 col-sm-{$right_column_size|intval} column">{$HOOK_RIGHT_COLUMN}</div>
					{/if}
Link to comment
Share on other sites

Eu nao inseri o código no footer. mas sim no header.tpl. Eu nao usei nenhum toll para verificar se está funcionando ou nao. Talvez o tool é falho ?? Quando abro a minha página eu vejo nas seccoes que se abrem (eu nao permito JS no meu browser), o google tag se abrindo e também tenho acesso com o mesmo ao adwords. Portanto eu suponho que esteja funcionando. Já que nao tenho funcionalidade nehuma para o tag manager eu já retirei o código novamente da minha página. Na necessito mexer nos meus tags, pois estes sao específicos, únicos e nao se mudam.

 

Coloquei o código exatamente abaixo destas linhas do /themes/meutema/header.tpl. Ou seja acima do {HOOK_HEADER}

	<link rel="icon" type="image/vnd.microsoft.icon" href="{$favicon_url}?{$img_update_time}" />
		<link rel="shortcut icon" type="image/x-icon" href="{$favicon_url}?{$img_update_time}" />
Link to comment
Share on other sites

Se vc. tem funcao para o tag-manager entao coloque. Vc. já tentou acrescentar o código no header.tpl abaixo das linhas que indiquei ? Deve funcionar, pois funcionou quando estive testando.

 

PS: eu acabei de instalar o GTM para um cliente. Coloquei no footer.tpl bem no final após a linha:

{include file="$tpl_dir./global.tpl"}    

E funciona. Agora vc. entao tem duas opcoes para incluir, ou no footer.tpl ou no header.tpl como indiquei.

Edited by selectshop.at (see edit history)
Link to comment
Share on other sites

  • 3 months later...

estou com o mesmo problema algum pode me ajudar?

 

Qual o problema ? Funciona tanto adicionando o códiogo no footer, como no header.tpl nas versoes PS 1.6.0.9 - 1.6.0.14. como instruído mais acima.

 

 

PS: eu acabei de instalar o GTM para um cliente. Coloquei no footer.tpl bem no final após a linha:

{include file="$tpl_dir./global.tpl"}    

E funciona. Agora vc. entao tem duas opcoes para incluir, ou no footer.tpl ou no header.tpl como indiquei.

 

Edited by selectshop.at (see edit history)
Link to comment
Share on other sites

Qual o problema ? Funciona tanto adicionando o códiogo no footer, como no header.tpl nas versoes PS 1.6.0.9 - 1.6.0.14. como instruído mais acima.

 

Entrei em THEMES->DEFAULT-BROOTSTRAP localizei o arquivo footer.tpl e inseri as linhas de comando que o google gerou logo após {include file="tpl_dir./global.tpl"}

 

Ele tirou meu site do ar

 

Tive que voltar voltar ao original para meu site voltar.

 

Alguma solução?

 

Pelo que vi nas linhas de comando tem iFrame não teria que ativar o iFrame no BO?

Link to comment
Share on other sites

Teoricamente o script pode ser adicionado em qualquer arquivo .TPL do tema.

Mas o ideal é que seja adicionado no rodapé (footer.tpl).

 

Verifiquem apenas que JavaScript é um script que conflita com o Smarty, caso não seja incluído corretamente.

Assim é necessário separar o código JavaScript com a tag {literal} do Smarty. Ex: 

{include file="$tpl_dir./global.tpl"}
{literal}
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-SEUCODIGO"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<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=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-SEUCODIGO');</script>
<!-- End Google Tag Manager -->
{/literal}
</body>
</html>

Boa sorte.

  • Like 1
Link to comment
Share on other sites

 

Teoricamente o script pode ser adicionado em qualquer arquivo .TPL do tema.

Mas o ideal é que seja adicionado no rodapé (footer.tpl).

 

Verifiquem apenas que JavaScript é um script que conflita com o Smarty, caso não seja incluído corretamente.

Assim é necessário separar o código JavaScript com a tag {literal} do Smarty. Ex: 

{include file="$tpl_dir./global.tpl"}
{literal}
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-SEUCODIGO"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<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=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-SEUCODIGO');</script>
<!-- End Google Tag Manager -->
{/literal}
</body>
</html>

Boa sorte.

 

 

Muito obrigado pela paciência.

 

O que estava mesmo faltando eram os comandos {literal} {/literal}

 

Funcionou agora.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...