Facebook "share/teilen"

Begonnen von dobra, Juli 22, 2014, 08:40:53

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

dobra

Hallo,

ich binde FB-share so ein:
<!--spmacro:module(fbopt)
sub url {
my $url = ssp::pageurl(1);
main::mprint ($url);
}
-->

und dann
<div id="tabFacebook">
<a href="javascript:void(0)" onClick="window.open('http://www.facebook.com/share.php?u=__fbopt::url__', '','toolbar=no,status=no,menubar=no,width=900,height=500')">
<img border="0" src="../images/layout/tab_facebook.jpg">
</a>
</div>


gibt es eine Möglichkeit festzustellen, ob/wie oft das von den Kunden genutzt wird ?

Mit DIESER Methode experimentiere ich noch (ist wesentlich flexibler  8) )
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:fb="https://www.facebook.com/2008/fbml">
<head>
    ....
</head>
<body>
....
    <div id='fb-root'></div>
    <script src='http://connect.facebook.net/en_US/all.js'></script>
    <div style="margin: 0 50px;"><a href="javascript:void(0)" onclick='postToFeed(); return false;'> - Image oder Text - </a></div>
    <p id='msg'></p>

    <script>
      FB.init({appId: "<meine FB-ID>", status: true, cookie: true});

      function postToFeed() {

        // calling the API ...
        var obj = {
          method: 'feed',
          redirect_uri: '__fbopt::url__',
          link: '__fbopt::url__',
          picture: '__fbopt::img__',
          name: '__fbopt::article__',
          caption: '__fbopt::erg1__',
          description: '__fbopt::desc__'
        };

        function callback(response) {
          document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
        }

        FB.ui(obj, callback);
      }

    </script>
...
</body>
</html>
mfG
dobra

dobra

Lösung:
Mit Google Analytics Events kann man die Klicks protokollieren und auswerten.

Zuerst braucht man mal eine JS-Funktion die die Events in Google Analytics schreibt (Danke an ahe für den Code !)
function logClick(what) {
   if (typeof(pageTracker) != 'undefined') {
       pageTracker._trackEvent('Clicks', what);
   }
}

= globaler Code für ALLE Events

Damit jetzt aber nicht die Klicks auf den "teile"-Button protokolliert werden, sondern nur auch wirklich geteilte Links, braucht man noch ein Callback:

  <script src='http://connect.facebook.net/en_US/all.js'></script>
<div id="tabFacebook">
<a href="javascript:void(0)" onclick="postToFeed(); return false;"><img border="0" src="../images/layout/tab_facebook.jpg"></a>
</div>

   <script>
     FB.init({appId: "<hier die persönliche ID für die Domain eintragen>", status: true, cookie: true});

     function postToFeed() {

       // calling the API ...
       var obj = {
         method: 'feed',
         link: '__fbopt::fburl__',
         picture: '__fbopt::dimage__',
         name: '__fbopt::title__',
         caption: '',
         description: '__fbopt::meta_description__'
       };

       function callback(response) {
if (response && response.post_id) {
logClick('fb-geteilt');
}
}

       FB.ui(obj, callback);
     }

   </script>



Für Twitter funktioniert es auch, aber ein bisschen anders:

   <script>
// Include the Twitter Library
window.twttr = (function (d,s,id) {
 var t, js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) return; js=d.createElement(s); js.id=id;
 js.src="https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
 return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } });
}(document, "script", "twitter-wjs"));

// On ready, register the callback...
twttr.ready(function (twttr) {
twttr.events.bind('tweet', function (event) {
// your callback action here...
  logClick('tw-geteilt');
});
});
   </script>
<div id="tabTwitter">
<a href="https://twitter.com/intent/tweet?url=__twopt::twurl__&text=__twopt::meta_description__"><img style="border:none;" src="../images/layout/tab_twitter.jpg"></a>
</div>
mfG
dobra

ahe

Zu beachten wäre noch, dass

if (typeof(pageTracker) != 'undefined') {
   pageTracker._trackEvent('Clicks', what);
}


nur für den ganz alten Analytics Tracker funktioniert.

Danach kam noch der Asynchrone Tracker und seit neuestem der Universal Tracker.
Weitere Informationen:

https://developers.google.com/analytics/devguides/collection/gajs/
https://developers.google.com/analytics/devguides/collection/analyticsjs/events
MfG ahe