Jump to content

Affiliation et sites affluents - comment cela semble marcher


Recommended Posts

Bonjour,

Il semble qu'il y ait de plus en plus d'utilisateurs avides de savoir comment fonctionne le module d'affiliation (bizarrement nommé "sites affluents" sous prestashop) et que personne ne daigne expliquer ce que fait le module.

D'abord, précisons que cette option n'est native que depuis la version 1.2 si je ne me trompe pas.

Rappelons que l'affiliation désigne ni plus ni moins qu'un système permettant de relier la provenance d'un inernaute (le site affluent) à ne action (une visite, une inscription mais surtout une vente). En général, l'objectif est de rémunérer le porteur d'affaire (comparateur, guide, blog) sur la vente. Le module de prestashop va plus loin que la simple rémunération sur les ventes sous forme de pourcentage puisqu'on peut parametrer d'autres actions.

1) Aller dans l'onglet "Stats"
2) Aller dans le sous-onglet "Sites affluents"
3) Cliquez sur le bouton "Nouveau" situé en bas.
4) Définissez un nom pour l'affilié et un mot de passe (personnellement je trouve bizarre que ce ne soit pas l'affilié qui puisse rentrer son mot de passe...)
Remarquez qu'il est écrit


Les affiliés peuvent accéder à leur propre informations avec ces identifiants
Accès front : http://votresite.com/modules/trackingfront/stats.php


En fait ceci sera possible si vous avez "installé" le module, par défaut inactivé, Affiliation - Accès boutique v1.0
Pour installer ce module il vous suffit d'aller dans l'onglet "Modules"

5) C'est là où ca devient intéressant.
a) Coup par Clic (CPC): comme son nom l'indique c'est les centimes que vous êtes prêts à débourser pour un clic vers votre site.
B) Rémunération de base. S'il y a une commande, peut importe le montant du panier, vous versez une somme fixe.
c) Rémunération en %. Ca c'est le coeur à mon sens de l'affiliation. La rémunération sur le panier (HT et hors frais de port)

N'hésitez pas à clqiuer sur Aide... il y a quasiment tout d'expliquer. A priori l'interface simple suffit largement. Nous allons voir pourquoi.

6) Il existe deux manières de savoir d'où vient l'internaute:
a) HTTP_REFERER: c'est une variable session qui existe en PHP et en javascript (c'est ce qu'utilisent les trackers en javascript comme Google Analytics ou Xiti). Inconvénient: il n'est pas fiable à 100% (c'est inscrit sur la doc de php, sur la doc de javascript). Par exemple, Internet Explorer donne un http_referer si vous ouvrez une page en target blank ou en javascript, voire en nouvel onglet.
B) REQUEST_URI: ca veut juste dire "champ dans l'url". C'est la méthode claissquement utilisé pour déterminer avec certitude la provenance. On place un "tag" dans l'url. Par exemple http://www.monsite.com/produit.php?id=12&ref=site_affilie
Là pas de doute. C'est fiable à 100%. Voire à 120%... si cette url est référencée par les moteurs de recherche. C'est rare mais ca arrive. Le problème sous-jacent est donc qu'un internaute peut être considéré comme venant de site_affilie via REQEST_URI mais de google via HTTP_REFERER

7) C'est donc à vous de décider...
Ce que je conseille, c'est bien entendu de renseigner le include de REQUEST_URI avec %ref=site_affilie%
Mais pour les quelques cas où les liens taggés seraient encore référencés chez google, vous pouvez renseigner le exclude de HTTP_REFERER avec %www.google.com%
Naïvement, on pourrait être tenté de mettre un HTTP_REFERER include ave l'url du site en question, mais d'expérience, on peut vraiment rater la moitié des visites !

8) N'oubliez pas de sauvegarder !

9) N'oubliez pas de mettre à jour le cache de temps à temps

15917_EpwLJErAHEYjid2ZmY9E_t

Link to comment
Share on other sites

Bonjour et merci pour ces informations sur ce sujet.

En revanche quel lien (ou code html) communiquer à l'affilié pour que mon site apparaisse sur sa page et/ou comment le créer ?

Idem pour une image ou une baniere

D'avance merci

Link to comment
Share on other sites

  • 4 weeks later...

B) REQUEST_URI: ca veut juste dire "champ dans l'url". C'est la méthode claissquement utilisé pour déterminer avec certitude la provenance. On place un "tag" dans l'url. Par exemple http://www.monsite.com/produit.php?id=12&ref=site_affilie
Là pas de doute.


Salut,

Je suis tout à fait ok avec cette idée, par contre pour que les affiliés utilise eux même les liens c'est plus complexe car si j'ai activé l'url rewriting, ce qui je l'espère est le cas de 99% des boutique, on ne peux pas rajouter simplement l'id affilié à la fin de l'url.

Donc comment faire.

Secundo, à quoi sert exactement l'enregistrement de trafic en direct ?
Link to comment
Share on other sites

  • 1 month later...

Bonjour,

j'ai moi même beaucoup de mal avec ce module. Je precise que je debute.

Si j'ai bien comprit.

Dans la case HT Refferer EXCLURE Je note %www.google%
Et
Dans la case Request URI INCLURE je note %ref=www.mademoizellelila.fr%

Le site en question est www.mademoizellelila.fr

Y a t-il un lien specifique à placer chez l'affilier ou un simple lien suffit ?

Merci

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...

B) REQUEST_URI: ca veut juste dire "champ dans l'url". C'est la méthode claissquement utilisé pour déterminer avec certitude la provenance. On place un "tag" dans l'url. Par exemple http://www.monsite.com/produit.php?id=12&ref=site_affilie
Là pas de doute.


Salut,

Je suis tout à fait ok avec cette idée, par contre pour que les affiliés utilise eux même les liens c'est plus complexe car si j'ai activé l'url rewriting, ce qui je l'espère est le cas de 99% des boutique, on ne peux pas rajouter simplement l'id affilié à la fin de l'url.

Donc comment faire.

Secundo, à quoi sert exactement l'enregistrement de trafic en direct ?


Comment faire donc avec le rewriting ?
Cdlt,
Nadine
Link to comment
Share on other sites

  • 4 weeks later...
  • 3 weeks later...

Bonjour,

Moi j'ai un autre soucis.

Dans mon BO Prestashop je peut voir le % que je dois à un affilié mais lui sur son interface il se connecte mais les champs sont vide.

Je suis sous presta 1.4 et mon module est "Affiliation - Accès boutique v1.0" (il parait qu'il y a une version 1.2 mais je ne la trouve pas)

Merci de m'éclairer si possible hihi

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Exactement le même problème depuis la migration vers Prestashop 1.4:

Bonjour,

Moi j'ai un autre soucis.

Dans mon BO Prestashop je peut voir le % que je dois à un affilié mais lui sur son interface il se connecte mais les champs sont vide.
Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

kidsinhalf Merci pour tes lumières, mais nous avons encore besoin de toi pour

1/ le problème avec l'url rewriting
2/ la configuration des url, car moi je ne vois pas de stats ni pour l'admin, ni pour le site affilié :-(

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

Bonjour,

 

Je n'avais pas reçu les alertes de messages sur le forum, d'où ma tardive réponse. 18 mois...

 

Il n'y a pas de pb d'url rewriting puisque l'on pet très bien rajouter un tag sur une url rewritée

ex: lien_rewrite.html?ref=id_affilie

 

Après, le système d'affiliation sous prestashop est du genre buggé. Pour l'expérimeter sur une quinzaine de boutiques différentes, nous avons des comportements variables. Pas très encourageant.

Link to comment
Share on other sites

  • 1 month later...

Avec les dernières versions de prestashop qui incluent la fonctionnalité "rediriger automatiquement vers l'url canonique" (menu Préférences/SEO &URLs) la méthode REQUEST_URI devient obsolète.

 

En fait, le tag disparaît lors de la réécriture d'url et cela n'est pas suivi le long de la vente. C'est vraiment dommage car on ajoute une fonctionnalité pour en perdre une autre.

 

Vérifiez donc !

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Hello,

J'ai un problème avec la gestion du tracking dans l'affiliation Prestashop à savoir les mêmes pb qu'évoqués ci-dessus : pas de trace ds le BO marchand ni dans le BO affilié.

J'ai installé la toute dernière version 1462 de PS et les résultats sont les mêmes.

J'ai désactivé l'URL canonique et j'ai généré le htaccess avec la ré-écriture des URLs

 

J'ai aussi fait un test sans la rééecriture d'URLs sans succès.

Q'un a-til une piste nouvelle ?

 

Merci

Link to comment
Share on other sites

  • 2 months later...

Bonjour,

 

j'ai moi même beaucoup de mal avec ce module. Je precise que je debute.

 

Si j'ai bien comprit.

 

Dans la case HT Refferer EXCLURE Je note %www.google%

Et

Dans la case Request URI INCLURE je note %ref=www.mademoizellelila.fr%

 

Le site en question est www.mademoizellelila.fr

 

Y a t-il un lien specifique à placer chez l'affilier ou un simple lien suffit ?

 

Merci

Bonjour,

 

j'ai moi même beaucoup de mal avec ce module. Je precise que je debute.

 

Si j'ai bien comprit.

 

Dans la case HT Refferer EXCLURE Je note %www.google%

Et

Dans la case Request URI INCLURE je note %ref=www.mademoizellelila.fr%

 

Le site en question est www.mademoizellelila.fr

 

Y a t-il un lien specifique à placer chez l'affilier ou un simple lien suffit ?

 

Merci

 

Bonjour,

Pouvez-vous me dire si avec les paramétrages que vous indiquez dans ce post cela fonctionne ou si vous avez fait d'autres modifications ?

Merci par arvance pour votre aide.

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

 

Je rencontre le même genre de souci.

J'utilise PS 1.4.7.0.

Dans la config. Préférences/SEO & URLs, j'ai activé les URLs simplifiés et la redirection vers les URLs canoniques.

J'ai activé Affiliation - Accès boutique v1.0 et Sites affluents v1.0.

 

J'ai configuré un site affluent tel que décrit en début de topic (exclusion de google et inclusion dans le champ request URI).

Il semble que rien ne se passe ni du côté annonceur/marchand, ni du côté affilié. Pas de stats, rien...

J'ai essayé en réindexant l'index et en raffraichissant le cache mais rien n'y fait.

 

Si quelqu'un a une idée je suis preneur.

Link to comment
Share on other sites

J'ai avancé un peu sur le sujet.

 

J'ai repéré l'endroit où se posent les problèmes.

Dans la classe ConnectionsSourceCore (fichier /classes/ConnectionsSource.php), au niveau de la méthode logHttpReferer(), 2 problèmes se posent:

- D'une part, le contrôle du referrer est un peu trop exigeant (l.76):

if ((preg_replace('/^www./', '', $parsed['host']) == preg_replace('/^www./', '', Tools::getHttpHost(false, false)))
AND !strncmp($parsed['path'], $parsed_host['path'], strlen(__PS_BASE_URI__)))
return false;

=> Ici on vérifie que le referrer a un site commençant par www. et que ce ne soit pas le site de la boutique (normal). Par contre, pourquoi réduire les referrer au www? et les sites en blog.*** ou store.*** ...? Et quand on fait les tests en local (http://localhost) ça peut pas marcher.

 

- D'autre part, l'attribut $source->request_uri prend, en premier lieu, la valeur de la variable $_SERVER['REDIRECT_URL'] puis si elle n'est pas trouvée, elle prend celle de $_SERVER['REQUEST_URI']. En se basant sur le nom de cet attribut, j'aurai trouvé plus logique de faire le contraire. Du coup, si $source->request_uri = $_SERVER['REDIRECT_URL'] alors on perd les variables passées dans le lien sur lequel on a cliqué.

 

J'ai surchargé cette classe et modifier ces 2 points et du coup ça marche.

 

Si un développeur PS veut bien m'éclairer sur ces choix, je suis tout ouie.

 

Est-ce qu'il y aurait autre solution d'affiliation un peu plus avancée? (Je voudrai notamment gérer des bannières pour les affiliés, pouvoir sauvegarder les coordonnées des affiliés directement dans PS, ...)

Link to comment
Share on other sites

@titchagcreation ça m'interresse de savoir quelles modifications tu as fait. Parce que là j'ai mis à jour vers la 1.4.7.3, avant j'étais en 1.4.6.2, et ça ne fonctionne plus alors qu'avant tout fonctionnait.

Et je n'ai pas encore réussi à trouver ce qui clochait.

Link to comment
Share on other sites

J'ai créé un fichier ConnectionsSource.php dans le répertoire override/classes.

Dans ce fichier, j'ai déclaré la classe de cette façon:

class ConnectionsSource extends ConnectionsSourceCore

Dans cette classe, j'ai redéfini la méthode public static function logHttpReferer().

J'ai recopié le code de la méthode logHttpReferer() du fichier classes/ConnectionsSource.php

J'ai remplacé la ligne

if ((preg_replace('/^www./', '', $parsed['host']) == preg_replace('/^www./', '', Tools::getHttpHost(false, false)))
    AND !strncmp($parsed['path'], $parsed_host['path'], strlen(__PS_BASE_URI__)))

par

if (!strncmp($parsed['path'], $parsed_host['path'], strlen(__PS_BASE_URI__)))

=> J'ai donc enlevé le contrôle sur les adresses commençant par www.

 

D'autre part, j'ai remplacé les lignes

if (isset($_SERVER['REDIRECT_URL']))
  $source->request_uri .= strval($_SERVER['REDIRECT_URL']);
 elseif (isset($_SERVER['REQUEST_URI']))
  $source->request_uri .= strval($_SERVER['REQUEST_URI']);

par

if (isset($_SERVER['REQUEST_URI']))
  $source->request_uri .= strval($_SERVER['REQUEST_URI']);
 elseif (isset($_SERVER['REDIRECT_URL']))
  $source->request_uri .= strval($_SERVER['REDIRECT_URL']);

=> J'ai juste interverti les 2 tests pour prendre l'URI en premier lieu.

 

Dis-moi si ça fonctionne aussi chez toi.

  • Like 1
Link to comment
Share on other sites

Ca ne marche pas chez moi :( en fait j'ai copié le ConnectionsSources.php existant dans override/classes. J'ai ensuite modifié tout ça et j'avais fait la modification (intervertir les 2 tests) en lisant le premier post ,je viens de me rendre compte que je n'avais pas déclaré la classe correctement.

J'ai donc fait la modification mais toujours rien.

 

Mais à moins que ce soit mes paramètres d'adresse qui déconnent (HTTP_REFERRER et REQUEST_URI) dans les paramètres des sites. Mais je ne pense pas, j'ai rien touché, j'ai juste ajouté un paramètre REQUEST_URI avec %monsite.com?ref=site_affilie% et %site_affilie.

Ca peut jouer ?

 

Je verrais demain parce qu'en plus j'ai fait la MAJ vers la v.1.4.7.3 et on va attendre d'avoir de nouveau de l'affluence avec ces modifications et je te tiendrais au courant.

 

En tout cas merci pour la réponse rapide.

Link to comment
Share on other sites

Après toutes ces modifications, malheureusement rien ne se passe, toujours au point mort, je deviens dingue, mais j'ai l'impression que c'est un problème de comptage lié à cette version 1.4.7.3

Parce qu'après la mise à jour, j'ai ajouté un nouveau site affluent et donc ré-indexé l'index et toutes les stats de mon autre site affluent ont disparu sur l'année.

Heureusement aucune rémunération n'était en place mais ça craint, heureusement que je n'étais pas en affiliation active.

 

Merci de m'aider parce que seul je galère vraiment, et le pire c'est que faut que ça arrive quand j'allais mettre en place une véritable affiliation. Comme quoi on a pas toujours de la chance :(

Link to comment
Share on other sites

Ca serait pas la mise à jour de ta version de Prestashop qui aurait provoqué ce problème? Parce que, à part ça, je vois pas pourquoi les stats auraient été réinitialisées.

J'ai commencé à bosser sur PS 1.4.7.0 que j'ai mis à jour vers la 1.4.7.3 mais pour un update 1.4.7.x vers 1.4.7.y, il doit pas y avoir de souci. Je ne sais pas si quelque chose a été changée entre PS 1.4.6.x et 1.4.7.x au niveau des sites affluents.

En tout cas, il y a très peu de comm. sur ce module et, apparemment, énormément de problèmes.

 

On va essayer de dépanner ce qui va pas.

Pourrais-tu envoyer une copie d'écran d'une page de configuration d'un affilié? Ca serait pour voir quels sont les paramètres que tu utilises (Commissions et informations techniques)?

Les miens sont dans la copie d'écran ci-jointe

post-339439-0-00336800-1334864988_thumb.jpg

Link to comment
Share on other sites

La mise à jour s'est bien passée, aucun bug apparent pour le moment, mis à part ce soucis de sites affluents pas de problèmes. Ce module n'a apparemment pas été touché vu que des personnes l'utilise depuis un certain temps et ont fait évolué prestashop avec.

Je sais vraiment pas et c'est vraiment ennuyant, parce qu'en fait on met à jour pour être à jour des bugs et on se retrouve avec un bug qui n'était pas là avant.

Si jamais tu as besoin de mon ConnectionsSources.php en override dis le moi, c'est peut être là que j'ai merdé même si j'en ai pas l'impression.

Merci beaucoup

Les copies d'écran pour montrer les config

 

mini_120419113108876249741715.jpg

mini_120419113059876249741714.jpg

Link to comment
Share on other sites

Oui, à la rigueur, envoie-moi le fichier ConnectionsSource.php mais ça devrait pas venir de là parce que ConnectionsSource ne fait qu'ajouter des connexions. Je regarderai d'abord ça puis je fouillerai un peu plus le code pour voir où est-ce que ça aurait pu être réinitialisé.

Pour ton nouvel affilié, il prend bien en compte les stats?

Link to comment
Share on other sites

  • 5 weeks later...

J'ai créé un fichier ConnectionsSource.php dans le répertoire override/classes.

Dans ce fichier, j'ai déclaré la classe de cette façon:

class ConnectionsSource extends ConnectionsSourceCore

Dans cette classe, j'ai redéfini la méthode public static function logHttpReferer().

J'ai recopié le code de la méthode logHttpReferer() du fichier classes/ConnectionsSource.php

J'ai remplacé la ligne

if ((preg_replace('/^www./', '', $parsed['host']) == preg_replace('/^www./', '', Tools::getHttpHost(false, false)))
	AND !strncmp($parsed['path'], $parsed_host['path'], strlen(__PS_BASE_URI__)))

par

if (!strncmp($parsed['path'], $parsed_host['path'], strlen(__PS_BASE_URI__)))

=> J'ai donc enlevé le contrôle sur les adresses commençant par www.

 

D'autre part, j'ai remplacé les lignes

if (isset($_SERVER['REDIRECT_URL']))
  $source->request_uri .= strval($_SERVER['REDIRECT_URL']);
 elseif (isset($_SERVER['REQUEST_URI']))
  $source->request_uri .= strval($_SERVER['REQUEST_URI']);

par

if (isset($_SERVER['REQUEST_URI']))
  $source->request_uri .= strval($_SERVER['REQUEST_URI']);
 elseif (isset($_SERVER['REDIRECT_URL']))
  $source->request_uri .= strval($_SERVER['REDIRECT_URL']);

=> J'ai juste interverti les 2 tests pour prendre l'URI en premier lieu.

 

Dis-moi si ça fonctionne aussi chez toi.

 

La modification sur le URI semble en effet fonctionnel, merci.

 

Je n'ai que très rapidement testé la modif sur le refferer .. et cela semblait moins efficace par contre.

 

Bien vu !

 

@+

Link to comment
Share on other sites

  • 4 months later...

Bonjour,

 

J'ai bien suivi les instructions de titchagcreation, mais ça n'a rien changé, mes stats sont toujours vides malgré les appels d'URL avec le bon identifiant...

 

Voici le fichier créé:

 

<?php
class ConnectionsSource extends ConnectionsSourceCore
{
public static function logHttpReferer()
{
 global $cookie;
 if (!isset($cookie->id_connections) OR !Validate::isUnsignedId($cookie->id_connections))
  return false;
 if (!isset($_SERVER['HTTP_REFERER']) AND !Configuration::get('TRACKING_DIRECT_TRAFFIC'))
  return false;

 $source = new ConnectionsSource();
 if (isset($_SERVER['HTTP_REFERER']) AND Validate::isAbsoluteUrl($_SERVER['HTTP_REFERER']))
 {
  $parsed = parse_url($_SERVER['HTTP_REFERER']);
  $parsed_host = parse_url('http://'.Tools::getHttpHost(false, false).__PS_BASE_URI__);
  if (!strncmp($parsed['path'], $parsed_host['path'], strlen(__PS_BASE_URI__)))
return false;
  if (Validate::isAbsoluteUrl(strval($_SERVER['HTTP_REFERER'])))
  {
$source->http_referer = strval($_SERVER['HTTP_REFERER']);
$source->keywords = trim(SearchEngine::getKeywords(strval($_SERVER['HTTP_REFERER'])));
if (!Validate::isMessage($source->keywords))
 return false;
  }
 }

 $source->id_connections = (int)($cookie->id_connections);
 $source->request_uri = Tools::getHttpHost(false, false);
 if (isset($_SERVER['REQUEST_URI']))
  $source->request_uri .= strval($_SERVER['REQUEST_URI']);
elseif (isset($_SERVER['REDIRECT_URL']))
  $source->request_uri .= strval($_SERVER['REDIRECT_URL']);
 if (!Validate::isUrl($source->request_uri))
  $source->request_uri = '';
 return $source->add();
}
}

Edited by MonBlason (see edit history)
Link to comment
Share on other sites

  • 1 month later...
  • 11 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...