Idempotent postbacks: γιατί τα οικονομικά νοιάζονται για τη διπλή μέτρηση
Ένα postback που είναι ασφαλές να ξανασταλεί είναι η διαφορά ανάμεσα σε έναν αριθμό που θα υπογράψει το οικονομικό τμήμα και σε έναν αριθμό για τον οποίο θα τσακωθεί. Τι σημαίνει idempotent, γιατί οι operators στέλνουν το ίδιο γεγονός πάνω από μία φορά, και τι πρέπει να βλέπουν οι affiliates στο πορτοφόλι όταν αυτό συμβαίνει.

Τα οικονομικά τμήματα δεν μισούν τα postbacks. Μισούν σύνολα που δεν μπορούν να ξαναπαίξουν. Αν η ίδια πρώτη κατάθεση μπορεί να εμφανιστεί δύο φορές επειδή ένα αίτημα έκανε timeout και στάλθηκε ξανά, ο μήνας δεν κλείνει. Κάποιος θα περάσει το απόγευμα της Παρασκευής με δύο CSV και έναν μαρκαδόρο. Τα idempotent postbacks είναι ο τρόπος που αυτή η Παρασκευή ακυρώνεται.
Αυτό είναι κείμενο δυνατοτήτων. Το AFFILIFY μετρά μια μετατροπή μία φορά, ακόμα και όταν ο operator την στέλνει πάνω από μία. Πώς αναγνωρίζουμε το διπλότυπο δεν είναι δημόσια λίστα ελέγχου. Αυτό που χρειάζεται να ξέρετε είναι το σχήμα του προβλήματος, τι να βάλετε στο καλώδιο, και τι υποτίθεται ότι κάνει το πορτοφόλι του affiliate όταν προσγειωθεί μια επανάληψη.
Αν θέλετε την ευρύτερη εικόνα tracking, το postbacks έναντι pixels έναντι image tags είναι η σύγκριση. Αυτό είναι η φέτα του S2S προς τα οικονομικά.
Τι σημαίνει idempotent εδώ
Idempotent σημαίνει ότι μπορείτε να εφαρμόσετε το ίδιο γεγονός δύο φορές και το αποθηκευμένο αποτέλεσμα δεν αλλάζει. Στείλτε το FTD #84102. Στείλτε το ξανά γιατί η ουρά σας δεν είδε το 200. Υπάρχει ακόμα ένα FTD. Υπάρχει ακόμα μία προμήθεια. Το δεύτερο αίτημα δεν είναι σφάλμα και δεν είναι δεύτερος παίκτης.
Το αντίθετο είναι ένας μετρητής που αυξάνεται σε κάθε αίτημα HTTP. Αυτός ο μετρητής θα συμφωνεί με το αρχείο επαναλήψεών σας. Δεν θα συμφωνεί με τη βάση παικτών του operator, ούτε με τον affiliate που έστειλε μόνο έναν άνθρωπο.
Οι επαναλήψεις δεν είναι bug. Τα δίκτυα αποτυγχάνουν. Οι load balancers κάνουν timeout. Ένα 200 χάνεται. Μια σοβαρή ενσωμάτωση αντιμετωπίζει το «στείλε μέχρι να επιβεβαιωθεί» ως την ευτυχή διαδρομή, που είναι ασφαλές μόνο αν ο παραλήπτης μπορεί να καταπιεί το διπλότυπο. Αυτό είναι όλη η απαίτηση προϊόντος.

Τι πρέπει να στέλνουν οι operators
Έχετε ήδη ένα click id. Έχετε ήδη έναν τύπο γεγονότος: εγγραφή, FTD, κατάθεση, και ό,τι άλλο χρειάζεται η συμφωνία. Στείλτε ένα σταθερό αναγνωριστικό για εκείνο το γεγονός ώστε μια επανάληψη να είναι το ίδιο αντικείμενο και όχι καινούργιο. Τα ακριβή ονόματα πεδίων ζουν στα docs του postback, όχι εδώ.
Τρεις κανόνες σώζουν το κλείσιμο του μήνα.
Ξαναστείλτε το ίδιο payload. Μην αυξάνετε ένα nonce, μην κόβετε νέο event id, μην «φτιάχνετε» ένα timeout στέλνοντας FTD-2. Η δεύτερη αποστολή πρέπει να είναι η πρώτη αποστολή ξανά.
Μην χρησιμοποιείτε την επιτυχία HTTP ως το μόνο καθολικό. Η πλευρά σας πρέπει να καταγράφει «σκοπεύαμε να στείλουμε το FTD #84102» πριν από το αίτημα, και «επιβεβαίωσαν το FTD #84102» μετά. Αν καταγράφετε μόνο το αίτημα, ένα timeout μοιάζει με τρύπα και θα στείλετε διαφορετικό γεγονός για να την καλύψετε.
Το NGR είναι περίοδος, όχι ping. Ένα γεγονός κατάθεσης μπορεί να είναι idempotent ανά κατάθεση. Ένα μηνιαίο νούμερο NGR είναι δήλωση για ένα εύρος ημερομηνιών. Στείλτε το ως δήλωση για εκείνο το εύρος, όχι ως ροή μικρών αυξήσεων που ελπίζετε ότι θα αθροιστούν. Το NGR και αρνητική μεταφορά είναι η εκδοχή προς τον affiliate του γιατί αυτές οι εκπτώσεις πρέπει να είναι σταθερές.
Τα pixels δεν το κάνουν αυτό καλά. Ένα pixel που πυροδοτείται δύο φορές στον browser είναι δύο πυροδοτήσεις. Τα image tags το ίδιο. Το S2S είναι η προεπιλογή το 2026 γιατί είναι το μόνο από τα τρία που ένα οικονομικό τμήμα αντέχει να ξαναπαίξει. Αυτός είναι ο ισχυρισμός δυνατότητας στο postbacks έναντι pixels.
Τι πρέπει να βλέπουν οι affiliates
Ένας παίκτης, ένα FTD, μία γραμμή CPA. Αν ανοίξετε τη μετατροπή πρέπει να δείτε τη μάρκα, το κλικ, το GEO, τα sub-id, το χρονόσημο. Δεν πρέπει να δείτε δίδυμο.
Αν μια κατάθεση αντιστραφεί αργότερα, αυτό είναι διαφορετικό γεγονός, όχι διπλότυπο. Chargebacks, κατάχρηση bonus, ακυρωμένη πληρωμή: αυτά προσγειώνονται ως προσαρμογές, μπορούν να βάλουν λεφτά σε αναμονή, και μπορούν να τραβήξουν πίσω μια προμήθεια σε εκκρεμότητα. Δεν είναι επαναλήψεις. Το πώς λειτουργούν οι πληρωμές καλύπτει σε εκκρεμότητα, διαθέσιμο, σε αναμονή και υπό εξέταση. Οι ίδιες οι πληρωμές μετράνε μία φορά στην έξοδο, για τον ίδιο λόγο που τα postbacks μετράνε μία φορά στην είσοδο.
Όταν κάτι μοιάζει διπλό, μην ξεκινήσετε από το πορτοφόλι. Ξεκινήστε από τον σύνδεσμο. Ένα σπασμένο click id παράγει μετατροπές που λείπουν, όχι έξτρα. Κάντε QA στον σύνδεσμο tracking πρώτα. Μετά κοιτάξτε αν δύο landing, δύο sub-id ή δύο μάρκες δημιούργησαν δύο πραγματικά κλικ. Δύο πραγματικά κλικ από έναν άνθρωπο μπορούν να είναι δύο γεγονότα. Αυτό δεν είναι διπλή μέτρηση. Είναι δύο κλικ.
Γιατί αυτό πουλάει σε operators
Ένα πρόγραμμα affiliates που μετράει διπλά θα υπερχρεώσει, μετά θα κάνει clawback, μετά θα ξοδέψει τη σχέση. Ένα πρόγραμμα affiliates που πετάει τις επαναλήψεις θα υπομετρήσει, μετά θα τσακωθεί, μετά θα ξοδέψει τη σχέση από την άλλη πλευρά. Το idempotent S2S είναι η βαρετή τρίτη επιλογή: στείλτε το, στείλτε το ξανά αν πρέπει, το σύνολο δεν κουνιέται.
Είναι και ο λόγος που το AFFILIFY μπορεί να δείξει μια μετατροπή ως γραμμή αντί ως κουβά. Η γραμμή είναι το γεγονός. Μια επανάληψη αφήνει το σύνολο εκεί που ήταν.
Στην πλευρά του affiliate ο ίδιος κανόνας είναι ο λόγος που η 15η μπορεί να κλείσει. Το σε εκκρεμότητα γίνεται διαθέσιμο πάνω σε σύνολο που δεν αλλάζει επειδή μια ουρά πρόλαβε στις 14:58. Το KYC κλείνει ακόμα την ανάληψη. Το επίπεδο μετράει ακόμα τις προκριματικές καταθέσεις μία φορά. Τίποτα από αυτά δεν δουλεύει αν το ίδιο το FTD είναι κορώνα-γράμματα απέναντι στο αρχείο επαναλήψεων.
Αν το συνδέετε ως operator, ξεκινήστε από τα docs, χρησιμοποιήστε τη δική σας παράμετρο κλικ, και αντιμετωπίστε το «στείλε μέχρι να επιβεβαιωθεί» ως φυσιολογικό. Αν είστε affiliate, δεν θα έπρεπε ποτέ να το σκέφτεστε, που είναι και το νόημα. Όταν πρέπει να το σκεφτείτε, κάτι στην ενσωμάτωση στέλνει δύο διαφορετικά γεγονότα και τα αποκαλεί ένα. Αυτό είναι bug ενσωμάτωσης, όχι επανάληψη.
Συχνές ερωτήσεις
Τι σημαίνει idempotent για ένα postback;
Το ίδιο γεγονός μπορεί να σταλεί πάνω από μία φορά και μετράει μόνο μία. Τα timeout και οι επαναλήψεις αναμένονται. Ένα δεύτερο αίτημα HTTP δεν είναι δεύτερο FTD και δεν είναι δεύτερη προμήθεια. Αν το payload άλλαξε και κόπηκε νέο event id, αυτό είναι νέο γεγονός, όχι επανάληψη.
Θα δω διπλά FTD στο πορτοφόλι AFFILIFY αν ο operator ξαναστείλει;
Όχι. Μια επανάληψη του ίδιου γεγονότος δεν προσθέτει δεύτερη γραμμή και δεν προσθέτει δεύτερο CPA. Αν δείτε δύο γραμμές, είχατε δύο γεγονότα: δύο κλικ, δύο καταθέσεις, ή δύο διαφορετικούς τύπους γεγονότος. Αυτό αξίζει να το ξετυλίξετε με τη μάρκα, όχι να υποθέσετε ότι η πλατφόρμα μέτρησε δύο φορές.
Είναι το ίδιο με το να είναι idempotent οι πληρωμές;
Ίδια ιδέα, αντίθετη κατεύθυνση. Οι εισερχόμενες μετατροπές μετράνε μία φορά ακόμα και όταν ξαναστέλνονται. Οι εξερχόμενες πληρωμές πιστώνουν μία φορά ακόμα και όταν ζητηθεί δύο φορές από πάροχο πληρωμών. Και τα δύο υπάρχουν ώστε τα οικονομικά να κλείσουν μήνα χωρίς μαρκαδόρο. Το [πώς λειτουργούν οι πληρωμές](/blog/how-affilify-payouts-work) είναι η εξερχόμενη πλευρά.
Το χρειάζονται και τα pixels;
Τα pixels και τα image tags πυροδοτούνται στον browser και θα πυροδοτηθούν όσες φορές φορτώνει η σελίδα. Δεν μπορούν να γίνουν ασφαλή στην επανάληψη όπως ένα postback από server. Αυτός είναι ένας από τους λόγους που το S2S είναι η προεπιλογή και τα pixels είναι εφεδρεία για όσους δεν μπορούν ακόμα να στείλουν γεγονός από server. Προτιμήστε S2S.
