2016-12-15 4 views
1

Ich möchte Facebook-Freigabe-Pop-up sollte von Google Tag Manager serviert werden. Was habe ich schon gemacht:Google Tag Manager Facebook teilen

IN GOOGLE TAG MANAGER:

1.Ich eine benutzerdefinierte HTML-Tag erstellt Facebook-SDK "genannt mit diesem:

<script type="text/javascript" language="JavaScript"> 
window.fbAsyncInit = function() { 
FB.init({ 
    appId  : '<app-id>', 
    xfbml  : true, 
    version : 'v2.3' 
}); 


}; 
(function(d, s, id){ 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_US/sdk.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
</script> 

2.I sat trigger für dieses Tag bei pageview.

4.Ich erstellt wenige Data Layer Variable diejenigen werde ich später benötigt werden:

**Name**      **Data Layer Variable Name**      
Thread Link     threadLink 
Thread Title     threadTitle 
Company Icon     companyIcon 
Facebook Share Caption   facebookShareCaption 

3.I erstellt eine andere benutzerdefinierte HTML-Tag 'Facebook' genannt:

 <script> 

      FB.ui({ 
      method: 'feed', 
      link: {{Thread Link}}, 
      picture: {{Company Icon}}, 
      name: {{Thread Title}}, 
      caption: {{Facebook Share Caption}} 
      }); 

     </script> 

4.In Erweiterte Einstellungen dieses Tags, in Tag Sequencing Option, wählte ich diese:

5.Ich erstellte eine benutzerdefinierte Trigger na Als 'Facebook Share Button' haben Sie einen Ereignisnamen wie 'fb_share_button_clicked'. 6.Ich setze 'Facebook Share Button' Trigger für dieses Tag.

SOURCE CODE IN

1.To Datenschicht aufgebaut, fügte ich den folgenden Code-Schnipsel an den Leiter der Seite über dem GTM Behälter Schnipsel:

<script> 
dataLayer = [{ 
'threadLink': 'LINKTO/ABCDEF', 
'threadTitle': 'high-ABCDEFA BCDEF ABCDEFABCD EFABCDEFABCDEFABCDEF', 
'companyIcon': 'PATHTO/icon', 
'facebookShareCaption': 'Lorem ipsum dolor sit amet, consectetur adipiscing' 
}]; 

2.Ich drücke benutzerdefinierte Ereignis "fb_share_button_clicked" Variable, wenn ein Benutzer auf Facebook Symbol vor Ort klickt

dataLayer.push({ 
    'event': 'fb_share_button_clicked' 
]; 

Meine Probleme sind:

  1. I 'undefined', wenn ich FB in JavaScript-Konsole ausführen.
  2. Wenn ich Facebook-Symbol klicken, wird kein Facebook-Freigabe-Popup angezeigt,
  3. Benutzerdefiniertes Tag "Facebook SDK" wird auf Seitenaufruf gefeuert, aber benutzerdefinierte Tag "Facebook-Freigabe" nicht, wenn ich Facebook-Symbol (im Vorschau-Modus) klicken.
  4. Ich sehe Benutzerdefinierte HTML-Tag ‚Facebook‘ unter ‚Stichwörter auf dieser Seite nicht gefeuert:‘ in der Vorschau und Debug-Modus, aber Ereignisse ‚Facebook‘
  5. I verdrahtete Werte in nicht gefeuert benutzerdefinierten HTML-Tag ausgelöst wird sehen‘ 'wie:

    Name: google_tag_manager'. Makro (\ [ 'xxxxx]' 111111111111')

ich werde sehr dankbar, wenn jemand mich leiten kann.

Antwort

0

Ihr letztes Stück Code ist nicht korrekt:

dataLayer.push({ 
    'event': 'fb_share_button_clicked' 
]; 

Sollten sein:

dataLayer.push({ 
    'event': 'fb_share_button_clicked' 
}); 

Parallel dazu, welche Art von Fehlern sind Sie in der Konsole zu sehen?