Fashion E-commerce (Anonymous)
Greek Fashion E-shop (Anonymous)
Skroutz integration με 8.000 SKUs + size variations + αυτόματη πληρωμή
Από manual export Excel σε realtime feed sync
Challenge
Τι έπρεπε να λυθεί
Η επιχείρηση χρησιμοποιούσε plugin που εξήγαγε Skroutz feed κάθε 4 ώρες. Στο μεσοδιάστημα, το stock αλλάζει στο WC αλλά όχι στο Skroutz, με αποτέλεσμα παραγγελίες σε εξαντλημένο stock και επιστροφές χρημάτων. Επίσης, οι παραλλαγές μεγέθους δεν μεταφέρονταν σωστά (κάθε size = ξεχωριστό product στο Skroutz).
Solution
Τι χτίσαμε
Φτιάξαμε custom XML feed generator που χτίζει feed real-time όταν κάθε προϊόν αλλάζει (WC hook στο stock change). Variants συμπίπτονταν σαν ένα parent product με options size, με σωστά identifier_exists=true για όσα έχουν GTIN και άρθροιση master-SKU για τα υπόλοιπα.
Custom Modules
Τι το κάνει διαφορετικό
Real-time Skroutz feed (όχι κάθε 4 ώρες)
WC hook στο stock change → instant feed regenerate για το συγκεκριμένο SKU. Skroutz βλέπει updated stock μέσα σε λεπτά, όχι ώρες. Drop στις false-positive sold-out παραγγελίες.
Size variation grouping
Custom logic ώστε ένα προϊόν με 8 sizes να εμφανίζεται σαν 1 listing στο Skroutz με dropdown size, αντί για 8 ξεχωριστά listings (που μπερδεύουν τον αγοραστή και υποβαθμίζουν Quality Score).
GTIN fallback logic
Αν το προϊόν έχει σωστό GTIN, χρησιμοποιούμε το. Αλλιώς, identifier_exists=false και custom MPN για να μην απορρίπτει το feed validator.
Skroutz reviews import
Αυτόματο import αξιολογήσεων από Skroutz API στα product pages του site. Star rating στο schema markup → αυξημένο CTR από Google organic.
Performance budget σε 8.000 SKUs
Custom indexing + database queries optimization ώστε ο feed να βγαίνει σε <30s ακόμη και με 8k+ προϊόντα. Cron job + lock mechanism για να μην τρέχουν παράλληλες exports.
Tech Stack
Με τι χτίστηκε
Όλο το stack είναι τυποποιημένο. Δεν βασίζεται σε κρυφά παραμετροποιημένα plugins ή proprietary cloud services. Μπορεί να μεταφερθεί ή να συντηρηθεί από οποιαδήποτε ομάδα γνωρίζει το stack.
FAQ
Συχνές ερωτήσεις
Γιατί 4ωρο update Skroutz feed δημιουργεί προβλήματα;
Στις 4 ώρες μεσοδιάστημα, το stock αλλάζει στο WC αλλά όχι στο Skroutz. Έτσι ένας πελάτης βλέπει στο Skroutz προϊόν διαθέσιμο, μπαίνει στο site, παραγγέλνει, και 30 λεπτά αργότερα παίρνει refund γιατί στην πραγματικότητα είχε τελειώσει. Αποτέλεσμα: customer service tickets, αρνητικές αξιολογήσεις, και χαμηλότερο Quality Score στο Skroutz που ανεβάζει το CPC. Ο real-time feed που στήσαμε λύνει το πρόβλημα στη ρίζα.
Πώς γίνεται handle 8 sizes ενός προϊόντος στο Skroutz;
Default plugin behavior είναι να εξάγει 8 ξεχωριστά listings (ένα ανά μέγεθος), που μπερδεύει τον αγοραστή και υποβαθμίζει Quality Score γιατί το ίδιο προϊόν εμφανίζεται 8 φορές. Το δικό μας XML feed group-άρει variants σαν ένα parent product με options size, με correct identifier_exists=true για όσα έχουν GTIN. Έτσι το Skroutz δείχνει 1 listing με dropdown size, που είναι και το expected pattern για κατηγορία ένδυσης.
Τι γίνεται αν κάποιο SKU δεν έχει GTIN;
GTIN fallback logic. Αν το προϊόν έχει σωστό GTIN, χρησιμοποιείται κανονικά. Αλλιώς, ο feed γράφει identifier_exists=false με custom MPN για να μην απορρίπτει το feed validator. Έτσι περνάει το όλο catalog ακόμα και αν 30-40% των SKUs δεν έχουν barcode από manufacturer.
Ο feed δουλεύει για catalog 8.000+ προϊόντων χωρίς να σπάει;
Custom indexing + database queries optimization βγάζουν τον feed σε λιγότερο από 30 δευτερόλεπτα ακόμα και με 8k+ προϊόντα. Cron job + lock mechanism εμποδίζει παράλληλες exports να τρέξουν ταυτόχρονα και να κορεστούν τη βάση. Real-time regeneration γίνεται μόνο για το συγκεκριμένο SKU που άλλαξε, όχι για όλο το catalog, οπότε το load στη βάση μένει χαμηλό.
Έρχονται οι αξιολογήσεις του Skroutz πίσω στο site;
Ναι. Στήσαμε αυτόματο import αξιολογήσεων από Skroutz API στα product pages. Star rating μπαίνει σε schema markup (AggregateRating + Review), που σημαίνει αυξημένο CTR από Google organic γιατί εμφανίζεται με αστεράκια στα search results. Έτσι το επένδυμα στο Skroutz reputation αξιοποιείται και εκτός Skroutz.