AffiliStat : Statistique régie pub

908 réponses
AuteurMessage

TomPascal | Pascal
Membre

Photo de TomPascal

Inscrit le : 08/11/2006

# Le 05/09/2012 à 02:53

Un petit "plug-in", si ça peut servir à certains d'entre vous...

Pour ceux qui vendent parfois des volumes (ex: 100.000 affichages vendus au CPM, à écouler sur le mois, répartis uniformément en respectant un caping imposé...).

On sait à l'avance combien on sera payé... et donc combien on gagnera chaque jour que dure la campagne (si on est en mesure d'écouler les volumes commandés évidement).. je n'ai donc pas besoin (dans mon cas) de remonter les stats depuis mon adserver.

Je divise le montant total de la campagne par le nombre de jours qu'elle dure et j'ai ajouté cette classe "Campagnes" à AffiliStats, dans le but de vraiment tout centraliser et pouvoir continuer à voir le CA/jour ou /mois toutes sources confondues (régies, plate-formes, ventes directes...)



Dans require.php :

$regie->setRegie('Campagnes',
array(
'login' => 'pseudo
'passe' => 'xxx',
)
);

(on se fiche des paramètres, il n'y a pas d'authentification)


le fichier ~/AffliliStat/Campagnes.php est le suivant :


<?php
/**
* Campagnes
* -----------------------------------------------------------------------------
*/
class AffiliStat_Campagnes extends AffiliStat implements iAffiliStat
{
var $campagnes;

public function __construct()
{
parent::__construct();
}

public function __destruct()
{
parent::__destruct();
}

/**
* Connexion
*/
public function login()
{
/**
* Connexion
*/

$this->campagnes[]=array(
'nom' => 'Annonceur1',
'debut' => '09/03/2012',
'fin' => '20/3/2012',
'rem' => 98.44,
);

$this->campagnes[]=array(
'nom' => 'Annonceur2',
'debut' => '12/03/2012',
'fin' => '31/03/2012',
'rem' => 156.93,
);

$this->campagnes[]=array(
'nom' => 'Annonceur3',
'debut' => '02/04/2012',
'fin' => '02/04/2012',
'rem' => 74.40,
);


$this->campagnes[]=array(
'nom' => 'Annonceur4',
'debut' => '21/05/2012',
'fin' => '22/06/2012',
'rem' => 59.63,
);

$this->campagnes[]=array(
'nom' => 'Annonceur5',
'debut' => '08/06/2012',
'fin' => '08/07/2012',
'rem' => 31.45,
);

$this->campagnes[]=array(
'nom' => 'Annonceur6',
'debut' => '21/08/2012',
'fin' => '31/08/2012',
'rem' => 12.78,
);
$this->campagnes[]=array(
'nom' => 'Annonceur6',
'debut' => '04/09/2012',
'fin' => '30/09/2012',
'rem' => 15.56,
);
$this->campagnes[]=array(
'nom' => 'Annonceur6',
'debut' => '01/10/2012',
'fin' => '14/10/2012',
'rem' => 11.38,
);

$this->campagnes[]=array(
'nom' => 'Annonceur7',
'debut' => '05/09/2012',
'fin' => '05/10/2012',
'rem' => 09.27,
);
}

/**
* Stats par jour
*/
public function parJour($parDate=NULL, $moinsJour=NULL)
{
if ($moinsJour !== NULL)
{
$parDate = date('d/m/Y',time()-3600*24*$moinsJour);
}

$return = array();
$return[$parDate] = 0;


$dcpr = explode("/", $parDate);
$dcpr = $dcpr[2].$dcpr[1].$dcpr[0];

foreach ($this->campagnes as $campagne){
$ddebut = explode("/", $campagne['debut']);
$ddebut = $ddebut[2].$ddebut[1].$ddebut[0];

$dfin = explode("/", $campagne['fin']);
$dfin = $dfin[2].$dfin[1].$dfin[0];

if($dcpr >= $ddebut && $dcpr<=$dfin){
$return[$parDate]+=$campagne['rem'];
}
}





return $return;
}


/**
* Stats par mois
*/
public function parMois($mois=NULL, $an=NULL, $moinsMois=NULL)
{
if ($moinsMois !== NULL)
{
$leMois = date('m/Y',strtotime('-' . $moinsMois . ' month'));
}
elseif ($mois !== NULL && $an !== NULL)
{
$leMois = $mois.'/'.$an;
}

$return = array();
$return[$leMois] = 0;

foreach ($this->campagnes as $campagne){
$ddebut = explode("/", $campagne['debut']);
$ddebut = $ddebut[2].$ddebut[1].$ddebut[0];

$dfin = explode("/", $campagne['fin']);
$dfin = $dfin[2].$dfin[1].$dfin[0];

for($j=1;$j<=31;$j++){
$dcpr = sprintf("%02d",$j).'/'.$leMois;
$dcpr = explode("/", $dcpr);
$dcpr = $dcpr[2].$dcpr[1].$dcpr[0];

if($dcpr >= $ddebut && $dcpr<=$dfin){
$return[$leMois]+=$campagne['rem'];
}
}
}


return $return;
}

}



A chaque fois qu'une nouvelle campagne vous est attribué, vous ajoutez dans la fonction "login" une valeur pour précision son nom, sa date de début, de fin et ce qu'elle vous rapporte donc "en direct" par jour durant cette période (cf. les exemples fictifs dans le code ci-dessus, il n'y a qu'à adapter le tableau).


Archipel WebOuvrir dans une nouvelle fenetre Conception, réalisation, référencement de sites internet.

Maximus32 | Gael
Modérateur

Photo de Maximus32

Inscrit le : 13/05/2009

# Le 17/09/2012 à 17:25

Bon, PublicIdees a fait la même chose que NetAff il y a 2 ans...
A la veille du salon e-commerce, ils mettent à jour leur home page (elle est assez sympa pour une fois, un peu de paralaxe ça change !) et évidemment ne touchent pas au reste de leur site ! Ca sent la modif de dernière minute...

Bref, le login PI a donc changé. Je ne vais pas avoir le temps de regarder avant mercredi, donc si personne dans l’assistance ne s'en est occupé d'ici là, je m'en occupe c'est promis !

Data-Solutions.comOuvrir dans une nouvelle fenetre

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 17/09/2012 à 17:30

Maximus32 > une nouvelle interface affiliée m'a été promise pour septembre
c'est surement le début de la migration

par contre, c'est la course aux ID quand ils changent les urls de connexion : les navigateurs ne retrouvent plus les mdp

Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0fOuvrir dans une nouvelle fenetre

Charlie | Charles
Membre

Photo de Charlie

Inscrit le : 07/06/2007

# Le 17/09/2012 à 18:48

@tompascal : merci pour le plugin !!

WEBFRANCEOuvrir dans une nouvelle fenetre - CommunautéOuvrir dans une nouvelle fenetre e-Business - MarketplaceOuvrir dans une nouvelle fenetre Achat & Vente de sites

olivierb35 | Olivier
Membre

 

Inscrit le : 15/12/2011

# Le 18/09/2012 à 15:57

Hello à tous
Publicidées fonctionne-t-il chez vous ?

Merci

tonguide | Jeremy
Modérateur

 

Inscrit le : 09/05/2005

# Le 18/09/2012 à 16:22

Pour PI :


Remplacez (au niveau de login() ) :

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

/* On recup charge.php pour pouvoir se connecter */
$URL = 'http://www.publicidees.com/';

curl_setopt($this->ch, CURLOPT_URL, $URL);
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
$String = curl_exec($this->ch);

$String = str_replace('<','-',$String);

$hidden_h = preg_replace('|(.*)input name="h" type="hidden" value="([^"]+)" />(.*)|is','$2',$String,1);

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

par :

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

$URL = 'http://fr.publicidees.com/logmein.php';

$data = array(
'loginAff' => $this->login,
'passAff' => $this->passe,
'userType' => 'aff'
);

curl_setopt($this->ch, CURLOPT_URL, $URL);
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->implode_array($data));
$String = curl_exec($this->ch);

$String = str_replace('<','-',$String);


$hidden_h = preg_replace('|.*"h":"(.+?)".*|is','$1',$String,1);

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

olivierb35 | Olivier
Membre

 

Inscrit le : 15/12/2011

# Le 18/09/2012 à 16:40

Merci
je venais de faire le correctif

olivierb35 | Olivier
Membre

 

Inscrit le : 15/12/2011

# Le 18/09/2012 à 16:41

sauf pour h :
$String = json_decode($String);
$hidden_h = $String->{'h'};

olivierb35 | Olivier
Membre

 

Inscrit le : 15/12/2011

# Le 18/09/2012 à 17:12

Question : adsense fonctionne toujours avec le dernier correctif ?
ici ça a tenu 3/4 jours puis plus rien.

ddpetit | Damien
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 18/09/2012 à 20:24

Est-ce que quelqu'un peut me passer sur mon mail damien @ brico les scripts de Zanox et Netaffiliation. Ça marche pas chez moi pour les deux là. Merci d'avance

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

riri1311 | Henri
Membre

 

Inscrit le : 25/01/2010

# Le 04/10/2012 à 14:24

Hello à tous,

Est ce que quelqu'un saurait comment faire pour faire en sorte que le rapport webgains tienne en compte des commissions retardées. Je sais qu'il faut ajouter le statut '25' au statut '10' mais sur cette ligne vous feriez comment?

'status[]' => '10',


Merci à vous!

tonguide | Jeremy
Modérateur

 

Inscrit le : 09/05/2005

# Le 04/10/2012 à 14:57

'status[0]' => '10',
'status[1]' => '25',

essai ça peut-etre

riri1311 | Henri
Membre

 

Inscrit le : 25/01/2010

# Le 04/10/2012 à 16:45

Merci c'est parfait ;)

olivierb35 | Olivier
Membre

 

Inscrit le : 15/12/2011

# Le 15/10/2012 à 10:41

Chez vous Adsense fonctionne ?
Moi impossible de le refaire fonctionner malgré les correctifs proposés précédemment.

Maximus32 | Gael
Modérateur

Photo de Maximus32

Inscrit le : 13/05/2009

# Le 19/10/2012 à 11:30

ddpetit me disait très justement sur Skype il y a quelques minutes :
"Dis Gaga (oui, il adore m'appeler comme ça...), ça serait quand même cool si on pouvait donner un accès à une version stable d'Affilistat à tout le monde pour que les gens arrête de nous faire chier sur le forum à demandant la dernière version d'Adsense qui marche ou l'ancienne version de zanox qui marchait mieux..."

Bref, qu'en dites-vous si je créé un projet sur GitHub pour mettre AffiliStats en libre service et pour que les gens puissent poster les évolutions ou les nouvelles plateformes ?

Je sais que vous aimez faire vivre ce sujet sur le forum, mais ce serait un peu plus structuré si c'était hébergé quelques part non ?

J'attends vos avis (surtout celui de tonguide "aka AffiliStats's Dad" en fait )

Data-Solutions.comOuvrir dans une nouvelle fenetre

olivierb35 | Olivier
Membre

 

Inscrit le : 15/12/2011

# Le 19/10/2012 à 11:34

Bien sur
ça évite d'envoyer des fichiers à droite à gauche sur diverses plateformes.

Une centralisation des fichiers serait vraiment bénéfique.

ps : En effet, j'ai demandé pour adsense car je n'arrive pas à le refaire fonctionner ;)

Maximus32 | Gael
Modérateur

Photo de Maximus32

Inscrit le : 13/05/2009

# Le 19/10/2012 à 11:43

olivierb35 a dit :ps : En effet, j'ai demandé pour adsense car je n'arrive pas à le refaire fonctionner ;)

C'était pas pour toi, c'était juste une illustration

Data-Solutions.comOuvrir dans une nouvelle fenetre

zehub | BENAICHA
Membre

Photo de zehub

Inscrit le : 21/12/2005

# Le 19/10/2012 à 18:18

Bonne idée. Faut voir avec tonguide s'il le permet ;)

DivertissementOuvrir dans une nouvelle fenetre , VoyagesOuvrir dans une nouvelle fenetre , VoituresOuvrir dans une nouvelle fenetre , CuisineOuvrir dans une nouvelle fenetre

olivierb35 | Olivier
Membre

 

Inscrit le : 15/12/2011

# Le 23/10/2012 à 11:51

Oui je me doute bien, je suis prêt à contribuer si besoin

tonguide | Jeremy
Modérateur

 

Inscrit le : 09/05/2005

# Le 23/10/2012 à 12:02

Comme je l'avais déjà expliqué, pour le moment, je ne le permet pas justement.

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 24/11/2024 5:58:10 | Généré en 20.13ms | Contacts | Mentions légales |