Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Σε ένα wordpress site σκοπεύω να ανεβάσω pdf και zip αρχεία.

 

Υπάρχει τρόπος με κάποιο script να αποθηκεύω στη βάση δεδομένων ή έστω σε κάποιο text file τον αριθμό των φορών που κάποιος επισκέπτης άνοιξε (βασικά αυτό για τα pdf) ή επιχείρησε να κατεβάσει (για τα zip) κάποιο από αυτά τα αρχεία ώστε να κρατάω στοιχεία για το πόσο δημοφιλή είναι το καθένα;

 

Θέλω να είναι ορατή μόνο σε μένα αυτή η πληροφορία, όχι δημοσιευμένη στο site.

Δημοσ. (επεξεργασμένο)

Μπορείς να το κάνεις με το Google Analytics και τον κώδικα που ακολουθεί:

 

>
<a href="my-pdf-file.pdf" onclick="_gaq.push(['_trackEvent', 'PDF', 'Open', 'PDF Name']);">Δείτε το PDF</a>

 

 

Με τον παραπάνω κώδικα, κάθε φορά που κάποιος θα κάνει click στο PDF σου, για να το δει το Google Analytics θα καταγράφει το κλικ που έκανε.

 

Η κλήση της συνάρτησης _trackEvent παίρνει τα ακόλουθα στοιχεία

 

>
_gaq.push(['_trackEvent', 'Κατηγορία', 'Τι έκανε ο χρήστης (πχ, Άνοιξε το αρχείο)', 'Τίτλος']);

Επεξ/σία από merianos
Δημοσ. (επεξεργασμένο)

Ή θα φτιάξεις ένα layer για το download των αρχείων (πχ "http://www.domain.co...ads/myfile.pdf") το οποίο θα καταγράφει το download με τις σχετικές πληροφορίες σε έναν πίνακα στη βάση σου, και στη συνέχεια θα κατεβάζει το αρχείο.

Επεξ/σία από Thanocaster
Δημοσ.

@merianos

Επειδή είμαι λίγο άσχετος με το google analytics τι πρέπει να κάνω για να δουλέψει αυτό που μου λες; Να κάνω sign up και επικόλληση τον tracking code που θα μου δώσει ή κάποιο άλλο include, π.χ. όπως κάνουμε με το jquery library;

Γιατί, αν κατάλαβα καλά, το tracking code βγάζει κάποια default στατιστικά που μπορούμε να τα δούμε μέσα από τον google analytics λογαριασμό μας. Ή μπορούμε να προγραμματίσουμε με αυτό και δικά μας πράγματα, όπως αυτό που υπέδειξες παραπάνω;

 

@Thanocaster

Βασικά κάτι τέτοιο σκεφτόμουν να κάνω αλλά δεν ξέρω πως γίνεται αυτό το ενδιάμεσο επίπεδο.

Στην ουσία δεν πρέπει να κάνω catch τα default actions (άνοιγμα/κατέβασμα αρχείου) του κάθε browser; Πώς γίνεται κάτι τέτοιο;

Κανένα tip παραπάνω; :)

Δημοσ. (επεξεργασμένο)

Ας πούμε ότι το σκριπτ σου είναι στο εξής path:

>
http://www.domain.com/files/index.php

 

και ότι τα αρχεία που θα έχεις για κατέβασμα είναι στο:

>
http://www.domain.com/uploads/

 

Έχεις λοιπόν:

>
<?php

/* URL http://www.domain.com/files/?file=myFile.pdf */

/* εδώ ο κώδικας που ενημερώνει τη βάση */

header ( "Location:../uploads/" . $_GET['filename'] );
exit();

?>

Επεξ/σία από Thanocaster
Δημοσ.

Επειδή είμαι λίγο άσχετος με το google analytics τι πρέπει να κάνω για να δουλέψει αυτό που μου λες; Να κάνω sign up και επικόλληση τον tracking code που θα μου δώσει ή κάποιο άλλο include, π.χ. όπως κάνουμε με το jquery library;

Γιατί, αν κατάλαβα καλά, το tracking code βγάζει κάποια default στατιστικά που μπορούμε να τα δούμε μέσα από τον google analytics λογαριασμό μας. Ή μπορούμε να προγραμματίσουμε με αυτό και δικά μας πράγματα, όπως αυτό που υπέδειξες παραπάνω;

 

Το μόνο που έχεις να κάνεις είναι να φορέσεις στο υποσέλιδο της ιστοσελίδας σου το tracking code που θα πάρεις από το Google Analytics, και με αυτό τον κώδικα θα είσαι σε θέση να καταγράψεις τα δικά σου events.

 

Με τον αντίστοιχο κώδικα για παράδειγμα μπορείς να ελέγξεις κάθε πότε ο επισκέπτης της ιστοσελίδας σου περνάει το ποντίκι του πάνω από μια διαφήμιση του και κάθε πότε κάνει κλικ.

 

Δες το παράδειγμα που ακολουθεί:

 

>
<a href="http://www.my-best-web-ad.com" onclick="_gaq.push(['_trackEvent', 'Ads', 'Clicked', 'Company name']);" mouseover="_gaq.push(['_trackEvent', 'Ads', 'Interested', 'Company name']);" >Company name</a>

 

Αν υποθέσουμε πως στη σελίδα σου έχεις μια διαφήμιση για την εταιρεία "Company name", που κάνοντας κλικ σε πάει στη σελίδα "http://www.my-best-web-ad.com" τότε με τον παραπάνω κώδικα, κάθε φορά που ο επισκέπτης θα περνάει το ποντίκι του πάνω από τη διαφήμιση (onmouseover) το Google Analytics θα λαμβάνει ένα event στην κατηγορία Ads με τίτλο Interested το οποίο απευθύνετε στον σύνδεσμο 'Company name'. Στο τέλος, αν τελικά ο χρήστης κάνει κλικ (onclick) στο σύνδεσμο, τότε το Google Analytics θα λάβει ένα νέο event για την κατηγορία Ads, με τίτλο "Clicked" για τον σύνδεσμο "Company name".

 

Αυτές τις πληροφορίες μπορείς μετά να της εντοπίσεις μέσα στο Google Analytics κάτω από το μενού Content > Events > *

 

-------------------------------------------------------

 

Εναλλακτική μέθοδος

 

Μπορείς να γράψεις ένα σενάριο Javascript που θα κάνει τα ακόλουθα βήματα:

 

Όταν ο χρήστης θα κάνει κλικ στο σύνδεσμο σου που είναι για κατέβασμα τότε θα αναιρεί το κλικ. Αυτό σε jQuery θα μπορούσε να είναι όπως παρακάτω:

 

HTML

>
<a href="myfile_1.pdf" class="filedownload" data-name="File #1 (PDF)">File #1 (PDF)</a>
<a href="myfile_2.pdf" class="filedownload" data-name="File #2 (PDF)">File #2 (PDF)</a>
<a href="myfile_1.zip" class="filedownload" data-name="File #1 (ZIP)">File #1 (ZIP)</a>
<a href="myfile_3.pdf" class="filedownload" data-name="File #3 (PDF)">File #3 (PDF)</a>

 

jQuery

>
jQuery(document).ready(
   function($)
   {
       $('.filedownload').click(
           function(e)
           {
               // Εδώ πάει ο κώδικας που θα παρουσιάσω παρακάτω
               e.preventDefault();
           }
       );
   }
);

 

Αφού ακυρώσεις το κλικ, τότε μπορείς να τρέξεις ένα ajax προς ένα αρχείο php στο server που θα καταγράψει στη βάση δεδομένων το κλικ, και τέλος μετά την ολοκλήρωση του AJAX να κατεβάσεις το αρχείο. Ο Κώδικας για αυτή τη διαδικασία θα μπορούσε να είναι κάπως έτσι σε jQuery

 

>
$.ajax(
   {
       type: "POST"
       data: {
           name : $(this).data('name')
       },
       url: 'mytracking,php',
       success: function(data)
       {
           window.location.href($(this).attr('href'));
       }
   }
);

 

και το τελικό αποτέλεσμα θα είναι κάπως έτσι

 

>

jQuery(document).ready(
   function($)
   {
       $('.filedownload').click(
           function(e)
           {


               $.ajax(
                   {
                       type: "POST"
                       data: {
                           name : $(this).data('name')
                       },
                       url: 'mytracking,php',
                       success: function(data)
                       {
                           window.location.href($(this).attr('href'));
                       }
                   }
               );

               e.preventDefault();
           }
       );
   }
);

 

Ελπίζω αυτό να σε βοηθήσει αρκετά.

Δημοσ.

Ευχαριστώ παρά πολύ για τις απαντήσεις και τους δύο.

Προτίμησα την λύση με το jquery και τη βάση δεδομένων γιατί ένιωθα να το " ελέγχω" καλύτερα. :) Εννοείται βέβαια ότι βοήθησε απίστευτα ο σχετικός κώδικας που παρέθεσες merianos.

 

Εγκατέστησα και το google analytics αλλά στο panel που δίνει δε βλέπω να έχει πιάσει αποτελέσματα. Αν δεν προσθέσω καθόλου κώδικα όπως αυτόν που παρέθεσες παραπάνω και έπιανε π.χ. τα clicks δεν πιάνει τίποτα ή απλά πρέπει να περιμένω μερικές ώρες για να δω συγκεντρωμένα κάποια στοιχειώδη αποτελέσματα; Όχι ότι το χρειάζομαι άμεσα, απλά από περιέργεια...

Δημοσ.

Τα αποτελέσματα μην περιμένεις να τα δεις άμεσα στα events. Θα πάρουν περίπου μια μέρα για να τα δεις.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...