Lucky Luke Δημοσ. 26 Ιουλίου 2012 Δημοσ. 26 Ιουλίου 2012 Σε ένα wordpress site σκοπεύω να ανεβάσω pdf και zip αρχεία. Υπάρχει τρόπος με κάποιο script να αποθηκεύω στη βάση δεδομένων ή έστω σε κάποιο text file τον αριθμό των φορών που κάποιος επισκέπτης άνοιξε (βασικά αυτό για τα pdf) ή επιχείρησε να κατεβάσει (για τα zip) κάποιο από αυτά τα αρχεία ώστε να κρατάω στοιχεία για το πόσο δημοφιλή είναι το καθένα; Θέλω να είναι ορατή μόνο σε μένα αυτή η πληροφορία, όχι δημοσιευμένη στο site.
merianos Δημοσ. 26 Ιουλίου 2012 Δημοσ. 26 Ιουλίου 2012 (επεξεργασμένο) Μπορείς να το κάνεις με το 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', 'Κατηγορία', 'Τι έκανε ο χρήστης (πχ, Άνοιξε το αρχείο)', 'Τίτλος']); Επεξ/σία 26 Ιουλίου 2012 από merianos
thanocaster Δημοσ. 26 Ιουλίου 2012 Δημοσ. 26 Ιουλίου 2012 (επεξεργασμένο) Ή θα φτιάξεις ένα layer για το download των αρχείων (πχ "http://www.domain.co...ads/myfile.pdf") το οποίο θα καταγράφει το download με τις σχετικές πληροφορίες σε έναν πίνακα στη βάση σου, και στη συνέχεια θα κατεβάζει το αρχείο. Επεξ/σία 26 Ιουλίου 2012 από Thanocaster
Lucky Luke Δημοσ. 26 Ιουλίου 2012 Μέλος Δημοσ. 26 Ιουλίου 2012 @merianos Επειδή είμαι λίγο άσχετος με το google analytics τι πρέπει να κάνω για να δουλέψει αυτό που μου λες; Να κάνω sign up και επικόλληση τον tracking code που θα μου δώσει ή κάποιο άλλο include, π.χ. όπως κάνουμε με το jquery library; Γιατί, αν κατάλαβα καλά, το tracking code βγάζει κάποια default στατιστικά που μπορούμε να τα δούμε μέσα από τον google analytics λογαριασμό μας. Ή μπορούμε να προγραμματίσουμε με αυτό και δικά μας πράγματα, όπως αυτό που υπέδειξες παραπάνω; @Thanocaster Βασικά κάτι τέτοιο σκεφτόμουν να κάνω αλλά δεν ξέρω πως γίνεται αυτό το ενδιάμεσο επίπεδο. Στην ουσία δεν πρέπει να κάνω catch τα default actions (άνοιγμα/κατέβασμα αρχείου) του κάθε browser; Πώς γίνεται κάτι τέτοιο; Κανένα tip παραπάνω;
thanocaster Δημοσ. 27 Ιουλίου 2012 Δημοσ. 27 Ιουλίου 2012 (επεξεργασμένο) Ας πούμε ότι το σκριπτ σου είναι στο εξής 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(); ?> Επεξ/σία 27 Ιουλίου 2012 από Thanocaster
merianos Δημοσ. 27 Ιουλίου 2012 Δημοσ. 27 Ιουλίου 2012 Επειδή είμαι λίγο άσχετος με το 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(); } ); } ); Ελπίζω αυτό να σε βοηθήσει αρκετά.
Lucky Luke Δημοσ. 27 Ιουλίου 2012 Μέλος Δημοσ. 27 Ιουλίου 2012 Ευχαριστώ παρά πολύ για τις απαντήσεις και τους δύο. Προτίμησα την λύση με το jquery και τη βάση δεδομένων γιατί ένιωθα να το " ελέγχω" καλύτερα. Εννοείται βέβαια ότι βοήθησε απίστευτα ο σχετικός κώδικας που παρέθεσες merianos. Εγκατέστησα και το google analytics αλλά στο panel που δίνει δε βλέπω να έχει πιάσει αποτελέσματα. Αν δεν προσθέσω καθόλου κώδικα όπως αυτόν που παρέθεσες παραπάνω και έπιανε π.χ. τα clicks δεν πιάνει τίποτα ή απλά πρέπει να περιμένω μερικές ώρες για να δω συγκεντρωμένα κάποια στοιχειώδη αποτελέσματα; Όχι ότι το χρειάζομαι άμεσα, απλά από περιέργεια...
merianos Δημοσ. 28 Ιουλίου 2012 Δημοσ. 28 Ιουλίου 2012 Τα αποτελέσματα μην περιμένεις να τα δεις άμεσα στα events. Θα πάρουν περίπου μια μέρα για να τα δεις.
Lucky Luke Δημοσ. 28 Ιουλίου 2012 Μέλος Δημοσ. 28 Ιουλίου 2012 Απ' ό,τι βλέπω τώρα λέει 5 of your visits sent events αλλά στα total events λέει 0!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα