Pour un affilié avec l’ID d’affilié «xxxx», les paramètres de suivi sont les suivants:

? utm_source = aff_prog & utm_campaign = afts & offer_id = 17 & aff_id = xxxx

Si l'URL contient déjà un "?" (Exemple: www [dot] companyname [dot] com / products / mobiles-mobile-phones? Sort = date), le paramètre de suivi à ajouter doit être:

& utm_source = aff_prog & utm_campaign = afts & offer_id = 17 & aff_id = xxxx

J'utilise ce script pour ajouter ma balise d'affiliation à l'URL

var links = document.getElementsByTagName('a');


for (var i = 0, max = links.length; i < max; i++) {
    var _href = links[i].href;

    if (_href.indexOf('amazon.in') !== -1) {
    links[i].href = _href + '?&tag=geek-21';  
    }
    else if (_href.indexOf('snapdeal.com') !== -1) {
    links[i].href = _href + '?utm_source=aff_prog&utm_campaign=afts&offer_id=17&aff_id=10001';  
    }
}

Si l'URL contient déjà "?" comment puis-je utiliser mon script ci-dessus pour marquer le '&' comme un début de tag d'affiliation? comme ça

& utm_source = aff_prog & utm_campaign = afts & offer_id = 17 & aff_id = 10001

voir cette image pour une meilleure compréhension

1
SamaraSsr 17 janv. 2017 à 15:06

2 réponses

Meilleure réponse

Eh bien, comme tu l'as dit. Vérifiez si le href contient ? et définissez le caractère approprié devant votre liste de paramètres:

for (var i = 0, max = links.length; i < max; i++) {
    var _href = links[i].href;

    // this is how to check and set for the appropriate starting character of your parameter list
    var startChar = _href.indexOf("?") === -1 ? "?" : "&";        

    if (_href.indexOf('amazon.in') !== -1) {
        links[i].href = _href + startChar +'tag=geek-21';  
    }
    else if (_href.indexOf('snapdeal.com') !== -1) {
        links[i].href = _href + startChar + 'utm_source=aff_prog&utm_campaign=afts&offer_id=17&aff_id=10001';  
    }
}
1
nozzleman 17 janv. 2017 à 12:14

Pour remplacer ? par & pour les URL avec une balise affiliée (comme caractère précédent pour le paramètre utm_source) si un point d'interrogation ? apparaît déjà dans une URL - utilisez l'approche suivante avec la fonction String.prototype.replace() et le modèle de regex spécifique:

var _href = 'www[dot]companyname[dot]com/products/mobiles-mobile-phones?sort=date?utm_source=aff_prog&utm_campaign=afts&offer_id=17&aff_id=xxxx',
    _href = _href.replace(/(?=.*?\?.*?)\?(utm_source=)/, '&$1');

console.log(_href);
0
RomanPerekhrest 17 janv. 2017 à 12:41