Jump to content

Pixel fb


Gramoss

Recommended Posts

Witam.

Mam sklep na prestashopie, podłączony do tego pixel FB, normalnie rejestruje pageview, wyświetlanie zawartości, dodanie do koszyk. Problem pojawia się z tym, że nie wyświetla zakupów oraz finalizacji zakupów.

Gdy próbuję dodać to ręcznie przyciskiem "Użyj wartości zdarzenia finalizacji zakupu" napisane jest pod spodem "W tej witrynie nie skonfigurowano inicjowania finalizacji zakupu" i nie mogę przez to nic zrobić.

Jak mógłbym to naprawić, albo chociaż sprawdzić gdzie leży problem?

Czy problem może być spowodowany tym, że nie korzystam z żadnego modułu w kwestii fb pixel, tylko ręcznie dodawałem go do plików?

Z góry dziękuję za pomoc

Edited by Gramoss (see edit history)
Link to comment
Share on other sites

Jeżeli nie korzystasz z żadnego modułu, to w miejscu w którym załączasz kod JS pixela możesz dodać poniższe:

{if $page.page_name == 'order-confirmation'}
  {literal}
    fbq('track', 'Purchase', {
      content_ids: [{/literal}{foreach from=$cart.products item=product name=products}{$product.id_product}{if !$smarty.foreach.products.last},{/if}{/foreach}{literal}],
      content_type: 'product_group',
      currency: '{/literal}{$currency.iso_code}{literal}', 
      value: {/literal}{$cart.totals.total.amount}{literal}
  	});
  {/literal}
{/if}

{if $page.page_name == 'checkout'}
  {literal}
  	fbq('track', 'InitiateCheckout');
  {/literal}
{/if}

To powinno dodać Ci śledzenie inicjowania oraz finalizacji zakupów (za pomocą order-confirmation page).

Link to comment
Share on other sites

Dodałem to w taki sposób, czy o to chodziło? (jkbc jestem trochę zielonkawy)

Tak dodane jednak nie dział, czy na to może mieć wpływ bramka płatności (CashBill)?

<!-- Facebook Pixel Code -->
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', 'xxxxxxxxxxx');
  fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"  
  src="https://www.facebook.com/tr?id=xxxxxxxxxx&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code --> 
{if $page.page_name == 'order-confirmation'}
  {literal}
    fbq('track', 'Purchase', {
      content_ids: [{/literal}{foreach from=$cart.products item=product name=products}{$product.id_product}{if !$smarty.foreach.products.last},{/if}{/foreach}{literal}],
      content_type: 'product_group',
      currency: '{/literal}{$currency.iso_code}{literal}', 
      value: {/literal}{$cart.totals.total.amount}{literal}
  	});
  {/literal}
{/if}

{if $page.page_name == 'checkout'}
  {literal}
  	fbq('track', 'InitiateCheckout');
  {/literal}
{/if}

 

Edited by Gramoss (see edit history)
Link to comment
Share on other sites

Ten kod powinien znaleźć się pomiędzy tagami <script>, czyli:

<!-- Facebook Pixel Code -->
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', 'xxxxxxxxxxx');
  fbq('track', 'PageView');
  {if $page.page_name == 'order-confirmation'}
  {literal}
    fbq('track', 'Purchase', {
      content_ids: [{/literal}{foreach from=$cart.products item=product name=products}{$product.id_product}{if !$smarty.foreach.products.last},{/if}{/foreach}{literal}],
      content_type: 'product_group',
      currency: '{/literal}{$currency.iso_code}{literal}', 
      value: {/literal}{$cart.totals.total.amount}{literal}
  	});
  {/literal}
{/if}

{if $page.page_name == 'checkout'}
  {literal}
  	fbq('track', 'InitiateCheckout');
  {/literal}
{/if}
</script>
<noscript><img height="1" width="1" style="display:none"  
  src="https://www.facebook.com/tr?id=xxxxxxxxxx&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code --> 

 

Link to comment
Share on other sites

Niestety nadal nie rejestruje odpowiednio initiatecheckout i purchase. Jeżeli próbuję dodać ręcznie konwersje przez narzędzie do konfiguracji zdarzeń to przechodząc do realizacji zamówienia, panel znika i nic nie mogę zrobić.

Link to comment
Share on other sites

Spróbuj dodać do w  " themes/classic/templates/_partials/head.tpl" w blocku 'javascript_head'. Jeżeli używasz {literal} to należało by zamknąć ten tag przed "{if $page.page_name == 'order-confirmation'}", czyli ostateczny kod:

zamieniasz:

{block name='javascript_head'}
  {include file="_partials/javascript.tpl" javascript=$javascript.head vars=$js_custom_vars}
{/block}

na:

{block name='javascript_head'}
  {include file="_partials/javascript.tpl" javascript=$javascript.head vars=$js_custom_vars}
  {literal}
    <!-- Facebook Pixel Code -->
    <script>
      !function(f,b,e,v,n,t,s)
      {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
      n.callMethod.apply(n,arguments):n.queue.push(arguments)};
      if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
      n.queue=[];t=b.createElement(e);t.async=!0;
      t.src=v;s=b.getElementsByTagName(e)[0];
      s.parentNode.insertBefore(t,s)}(window, document,'script',
      'https://connect.facebook.net/en_US/fbevents.js');
      fbq('init', 'xxxxxxxxxxx');
      fbq('track', 'PageView');
      {/literal}
      {if $page.page_name == 'order-confirmation'}
      {literal}
        fbq('track', 'Purchase', {
          content_ids: [{/literal}{foreach from=$cart.products item=product name=products}{$product.id_product}{if !$smarty.foreach.products.last},{/if}{/foreach}{literal}],
          content_type: 'product_group',
          currency: '{/literal}{$currency.iso_code}{literal}', 
          value: {/literal}{$cart.totals.total.amount}{literal}
        });
      {/literal}
    {/if}
    {if $page.page_name == 'checkout'}
      {literal}
        fbq('track', 'InitiateCheckout');
      {/literal}
    {/if}
    {literal}
    </script>
    <noscript><img height="1" width="1" style="display:none"  
      src="https://www.facebook.com/tr?id=xxxxxxxxxx&ev=PageView&noscript=1"
    /></noscript>
    <!-- End Facebook Pixel Code --> 
  {/literal}
{/block}

 

  • Thanks 1
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...