[{"data":1,"prerenderedAt":1565},["ShallowReactive",2],{"article-alternates":3,"article-\u002Ffr\u002Fmarketing\u002Fstrategie-des-variations-pour-l-algorithme-d-encheres":13},{"i18nKey":4,"paths":5},"marketing-005-2026-05",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11,"tr":12},"\u002Fde\u002Fmarketing\u002Fcreative-operations-variation-strategie-fuer-bidding-algorithmen","\u002Fen\u002Fmarketing\u002Fcreative-operations-bidding-algorithm-variation-strategy","\u002Fes\u002Fmarketing\u002Fcreative-operations-variaciones-algoritmo-bidding","\u002Ffr\u002Fmarketing\u002Fstrategie-des-variations-pour-l-algorithme-d-encheres","\u002Fit\u002Fmarketing\u002Fcreative-operations-bidding-algoritmi-per-variations","\u002Fru\u002Fmarketing\u002Fcreative-operations-bidding-algoritmasina-beslenecek-variation-stratejisi","\u002Ftr\u002Fmarketing\u002Fcreative-operations-bidding-algoritmasina-beslenecek-variation-stratej",{"_path":9,"_dir":14,"_draft":15,"_partial":15,"_locale":16,"title":17,"description":18,"publishedAt":19,"modifiedAt":19,"category":14,"i18nKey":4,"tags":20,"readingTime":26,"author":27,"body":28,"_type":1559,"_id":1560,"_source":1561,"_file":1562,"_stem":1563,"_extension":1564},"marketing",false,"","Creative Operations : Stratégie de variations pour alimenter l'algorithme d'enchères","Architecture de test créatif pour Performance Max et Advantage+ : générer des signaux pour l'algorithme, construire un système de variations, mesurer et scaler les gagnants.","2026-05-16",[21,22,23,24,25],"creative-operations","performance-max","advantage-plus","algorithme-encheres","test-creatif",9,"Roibase",{"type":29,"children":30,"toc":1551},"root",[31,47,54,59,64,75,81,86,91,96,566,572,577,582,710,722,727,733,738,743,769,774,780,785,844,849,1515,1521,1526,1545],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36,39,45],{"type":37,"value":38},"text","Dans les campagnes Google Performance Max et Meta Advantage+, la créativité n'est plus seulement un message — c'est le matériau d'apprentissage de l'algorithme. La puissance des enchères automatisées est directement proportionnelle à la richesse de l'ensemble de variations qu'elle consomme. Pourtant, la plupart des équipes délèguent encore la création aux services de conception en attendant des « beaux visuels ». Résultat : la campagne reste affamée de signaux pendant 2 semaines, l'algorithme s'enferme dans un optimum local restreint, et le CPA monte. Les ",{"type":32,"tag":40,"props":41,"children":42},"em",{},[43],{"type":37,"value":44},"creative operations",{"type":37,"value":46}," — structurer la production créative, l'architecture de test et le processus d'alimentation des signaux avec la rigueur de l'ingénierie — cassent ce cycle.",{"type":32,"tag":48,"props":49,"children":51},"h2",{"id":50},"la-créativité-nest-plus-un-problème-de-design-cest-un-problème-ditération",[52],{"type":37,"value":53},"La créativité n'est plus un problème de design, c'est un problème d'itération",{"type":32,"tag":33,"props":55,"children":56},{},[57],{"type":37,"value":58},"Dans les formats de campagne automatisés comme Performance Max et Advantage+, la créativité est devenue une opération quotidienne, au même titre qu'un ajustement d'enchères. Fournir 3 visuels + 5 titres à la campagne et attendre « 14 jours de phase d'apprentissage » n'établit même pas le pool de données minimum nécessaire pour que l'algorithme prenne une décision viable. Dans ses propres guides, Google recommande au minimum 4 groupes d'assets pour Performance Max, chacun avec 5 à 15 visuels + 5 titres en combinaison — la raison : l'algorithme a besoin de suffisamment de variété pour équilibrer exploration et exploitation.",{"type":32,"tag":33,"props":60,"children":61},{},[62],{"type":37,"value":63},"Mais le problème ne se limite pas aux chiffres — sans différences significatives entre les créations, l'algorithme tourne toujours dans un espace restreint. Cinq photographies du même produit sous différents angles, c'est le même cluster de signal pour la machine. Au lieu de cela, il faut construire les variations sur des propositions de valeur différentes (prix vs. livraison vs. preuve sociale), des formats différents (statique vs. carrousel vs. vidéo) et des proxies d'audience différents (lifestyle vs. product-focus). La production créative doit passer du fichier Adobe du designer à une matrice modèle × variables du pôle croissance.",{"type":32,"tag":33,"props":65,"children":66},{},[67,69,73],{"type":37,"value":68},"Chez Roibase, nous structurons les ",{"type":32,"tag":40,"props":70,"children":71},{},[72],{"type":37,"value":44},{"type":37,"value":74}," ainsi : sprint créatif hebdomadaire, 8 à 12 nouvelles variations par sprint, chaque variation teste une hypothèse (changement d'angle, test d'accroche, itération d'appel à l'action). Le designer n'est pas un goulot — des bibliothèques de composants Figma + des jeux de variables + export en masse accélèrent l'opération. En 2 semaines, on alimente 20+ créations uniques à une campagne, suffisant pour que l'algorithme trouve le cluster gagnant à la semaine 2.",{"type":32,"tag":48,"props":76,"children":78},{"id":77},"générateur-de-signaux-architecture-de-test-cohort-holdout",[79],{"type":37,"value":80},"Générateur de signaux : architecture de test cohort + holdout",{"type":32,"tag":33,"props":82,"children":83},{},[84],{"type":37,"value":85},"Produire des variations créatives, c'est nécessaire mais insuffisant. Il faut les organiser de manière que l'algorithme puisse en tirer du signal. Dans Performance Max, chaque groupe d'assets fonctionne comme une cellule de test indépendante — mais si vous distribuez les variations de façon aléatoire, vous ne saurez pas laquelle a gagné parce que la performance au niveau du groupe d'assets reste dans la boîte noire de Google. Au lieu de cela, nous construisons une architecture de test basée sur les cohortes : chaque période (par exemple 2 semaines), vous créez un nouveau groupe d'assets, alimentez-le avec la variation de cette période, et les anciens gagnants restent dans le groupe de contrôle. Après 2 semaines, vous comparez la performance du nouveau groupe (ROAS, CVR, CPA) au contrôle.",{"type":32,"tag":33,"props":87,"children":88},{},[89],{"type":37,"value":90},"Cette structure s'aligne avec la logique du test bayésien : chaque groupe d'assets produit une distribution indépendante, et la mise à jour postérieure peut être calculée instantanément (vous extrayez les conversions + les coûts via l'API Google Ads et vous faites votre propre calcul). Si une variation atteint 95 % de confiance en 7 jours, vous la transférez immédiatement au groupe d'assets principal. Si ce n'est pas le cas, vous attendez jusqu'au jour 14 avant de fermer la cohorte. Ainsi, au lieu d'une configuration de campagne statique, vous créez un pipeline continu de signaux.",{"type":32,"tag":33,"props":92,"children":93},{},[94],{"type":37,"value":95},"Avec Meta Advantage+, c'est légèrement différent — la performance au niveau des assets s'affiche dans l'interface « Ads Reporting » de Meta, mais par décomposition. C'est ici qu'utiliser une cellule holdout devient critique : vous isolez votre nouveau set créatif dans une campagne de test (nouvelles créations) contre une campagne de contrôle (anciens gagnants), avec un budget split 20\u002F80. Pendant 1 semaine, vous vous assurez que les deux ont accès à la même audience (CBO activé, placement automatique, lookalike large). Au jour 7, si le CPA de la campagne de test est 15+ % inférieur à celui du contrôle, vous déclarez le nouveau set gagnant et basculez aussi la campagne de contrôle à la nouvelle créativité.",{"type":32,"tag":97,"props":98,"children":102},"pre",{"className":99,"code":100,"language":101,"meta":16,"style":16},"language-python shiki shiki-themes github-dark","# Calcul simple du gagnant bayésien (une fois que vous avez extrait conversions + coûts de l'API Google Ads)\nimport numpy as np\nfrom scipy import stats\n\ndef bayesian_winner(conversions_a, cost_a, conversions_b, cost_b, prior_alpha=1, prior_beta=1):\n    # Postérieur via distribution Beta pour le taux de conversion\n    posterior_a = stats.beta(prior_alpha + conversions_a, prior_beta + (cost_a\u002F10 - conversions_a))\n    posterior_b = stats.beta(prior_alpha + conversions_b, prior_beta + (cost_b\u002F10 - conversions_b))\n    \n    # Monte Carlo pour P(B > A)\n    samples = 10000\n    prob_b_wins = np.mean(posterior_b.rvs(samples) > posterior_a.rvs(samples))\n    \n    return prob_b_wins\n\n# Exemple : Groupe d'assets A : 120 conversions, 2400$ de coûts vs B : 95 conversions, 1800$ de coûts\nprob = bayesian_winner(120, 2400, 95, 1800)\nprint(f\"Probabilité que B gagne : {prob:.2%}\")\n# Si > 0.95, B est gagnant, basculez le budget vers B\n","python",[103],{"type":32,"tag":104,"props":105,"children":106},"code",{"__ignoreMap":16},[107,119,145,168,178,227,236,293,345,353,362,380,408,416,430,438,447,503,557],{"type":32,"tag":108,"props":109,"children":112},"span",{"class":110,"line":111},"line",1,[113],{"type":32,"tag":108,"props":114,"children":116},{"style":115},"--shiki-default:#6A737D",[117],{"type":37,"value":118},"# Calcul simple du gagnant bayésien (une fois que vous avez extrait conversions + coûts de l'API Google Ads)\n",{"type":32,"tag":108,"props":120,"children":122},{"class":110,"line":121},2,[123,129,135,140],{"type":32,"tag":108,"props":124,"children":126},{"style":125},"--shiki-default:#F97583",[127],{"type":37,"value":128},"import",{"type":32,"tag":108,"props":130,"children":132},{"style":131},"--shiki-default:#E1E4E8",[133],{"type":37,"value":134}," numpy ",{"type":32,"tag":108,"props":136,"children":137},{"style":125},[138],{"type":37,"value":139},"as",{"type":32,"tag":108,"props":141,"children":142},{"style":131},[143],{"type":37,"value":144}," np\n",{"type":32,"tag":108,"props":146,"children":148},{"class":110,"line":147},3,[149,154,159,163],{"type":32,"tag":108,"props":150,"children":151},{"style":125},[152],{"type":37,"value":153},"from",{"type":32,"tag":108,"props":155,"children":156},{"style":131},[157],{"type":37,"value":158}," scipy ",{"type":32,"tag":108,"props":160,"children":161},{"style":125},[162],{"type":37,"value":128},{"type":32,"tag":108,"props":164,"children":165},{"style":131},[166],{"type":37,"value":167}," stats\n",{"type":32,"tag":108,"props":169,"children":171},{"class":110,"line":170},4,[172],{"type":32,"tag":108,"props":173,"children":175},{"emptyLinePlaceholder":174},true,[176],{"type":37,"value":177},"\n",{"type":32,"tag":108,"props":179,"children":181},{"class":110,"line":180},5,[182,187,193,198,203,209,214,218,222],{"type":32,"tag":108,"props":183,"children":184},{"style":125},[185],{"type":37,"value":186},"def",{"type":32,"tag":108,"props":188,"children":190},{"style":189},"--shiki-default:#B392F0",[191],{"type":37,"value":192}," bayesian_winner",{"type":32,"tag":108,"props":194,"children":195},{"style":131},[196],{"type":37,"value":197},"(conversions_a, cost_a, conversions_b, cost_b, prior_alpha",{"type":32,"tag":108,"props":199,"children":200},{"style":125},[201],{"type":37,"value":202},"=",{"type":32,"tag":108,"props":204,"children":206},{"style":205},"--shiki-default:#79B8FF",[207],{"type":37,"value":208},"1",{"type":32,"tag":108,"props":210,"children":211},{"style":131},[212],{"type":37,"value":213},", prior_beta",{"type":32,"tag":108,"props":215,"children":216},{"style":125},[217],{"type":37,"value":202},{"type":32,"tag":108,"props":219,"children":220},{"style":205},[221],{"type":37,"value":208},{"type":32,"tag":108,"props":223,"children":224},{"style":131},[225],{"type":37,"value":226},"):\n",{"type":32,"tag":108,"props":228,"children":230},{"class":110,"line":229},6,[231],{"type":32,"tag":108,"props":232,"children":233},{"style":115},[234],{"type":37,"value":235},"    # Postérieur via distribution Beta pour le taux de conversion\n",{"type":32,"tag":108,"props":237,"children":239},{"class":110,"line":238},7,[240,245,249,254,259,264,268,273,278,283,288],{"type":32,"tag":108,"props":241,"children":242},{"style":131},[243],{"type":37,"value":244},"    posterior_a ",{"type":32,"tag":108,"props":246,"children":247},{"style":125},[248],{"type":37,"value":202},{"type":32,"tag":108,"props":250,"children":251},{"style":131},[252],{"type":37,"value":253}," stats.beta(prior_alpha ",{"type":32,"tag":108,"props":255,"children":256},{"style":125},[257],{"type":37,"value":258},"+",{"type":32,"tag":108,"props":260,"children":261},{"style":131},[262],{"type":37,"value":263}," conversions_a, prior_beta ",{"type":32,"tag":108,"props":265,"children":266},{"style":125},[267],{"type":37,"value":258},{"type":32,"tag":108,"props":269,"children":270},{"style":131},[271],{"type":37,"value":272}," (cost_a",{"type":32,"tag":108,"props":274,"children":275},{"style":125},[276],{"type":37,"value":277},"\u002F",{"type":32,"tag":108,"props":279,"children":280},{"style":205},[281],{"type":37,"value":282},"10",{"type":32,"tag":108,"props":284,"children":285},{"style":125},[286],{"type":37,"value":287}," -",{"type":32,"tag":108,"props":289,"children":290},{"style":131},[291],{"type":37,"value":292}," conversions_a))\n",{"type":32,"tag":108,"props":294,"children":296},{"class":110,"line":295},8,[297,302,306,310,314,319,323,328,332,336,340],{"type":32,"tag":108,"props":298,"children":299},{"style":131},[300],{"type":37,"value":301},"    posterior_b ",{"type":32,"tag":108,"props":303,"children":304},{"style":125},[305],{"type":37,"value":202},{"type":32,"tag":108,"props":307,"children":308},{"style":131},[309],{"type":37,"value":253},{"type":32,"tag":108,"props":311,"children":312},{"style":125},[313],{"type":37,"value":258},{"type":32,"tag":108,"props":315,"children":316},{"style":131},[317],{"type":37,"value":318}," conversions_b, prior_beta ",{"type":32,"tag":108,"props":320,"children":321},{"style":125},[322],{"type":37,"value":258},{"type":32,"tag":108,"props":324,"children":325},{"style":131},[326],{"type":37,"value":327}," (cost_b",{"type":32,"tag":108,"props":329,"children":330},{"style":125},[331],{"type":37,"value":277},{"type":32,"tag":108,"props":333,"children":334},{"style":205},[335],{"type":37,"value":282},{"type":32,"tag":108,"props":337,"children":338},{"style":125},[339],{"type":37,"value":287},{"type":32,"tag":108,"props":341,"children":342},{"style":131},[343],{"type":37,"value":344}," conversions_b))\n",{"type":32,"tag":108,"props":346,"children":347},{"class":110,"line":26},[348],{"type":32,"tag":108,"props":349,"children":350},{"style":131},[351],{"type":37,"value":352},"    \n",{"type":32,"tag":108,"props":354,"children":356},{"class":110,"line":355},10,[357],{"type":32,"tag":108,"props":358,"children":359},{"style":115},[360],{"type":37,"value":361},"    # Monte Carlo pour P(B > A)\n",{"type":32,"tag":108,"props":363,"children":365},{"class":110,"line":364},11,[366,371,375],{"type":32,"tag":108,"props":367,"children":368},{"style":131},[369],{"type":37,"value":370},"    samples ",{"type":32,"tag":108,"props":372,"children":373},{"style":125},[374],{"type":37,"value":202},{"type":32,"tag":108,"props":376,"children":377},{"style":205},[378],{"type":37,"value":379}," 10000\n",{"type":32,"tag":108,"props":381,"children":383},{"class":110,"line":382},12,[384,389,393,398,403],{"type":32,"tag":108,"props":385,"children":386},{"style":131},[387],{"type":37,"value":388},"    prob_b_wins ",{"type":32,"tag":108,"props":390,"children":391},{"style":125},[392],{"type":37,"value":202},{"type":32,"tag":108,"props":394,"children":395},{"style":131},[396],{"type":37,"value":397}," np.mean(posterior_b.rvs(samples) ",{"type":32,"tag":108,"props":399,"children":400},{"style":125},[401],{"type":37,"value":402},">",{"type":32,"tag":108,"props":404,"children":405},{"style":131},[406],{"type":37,"value":407}," posterior_a.rvs(samples))\n",{"type":32,"tag":108,"props":409,"children":411},{"class":110,"line":410},13,[412],{"type":32,"tag":108,"props":413,"children":414},{"style":131},[415],{"type":37,"value":352},{"type":32,"tag":108,"props":417,"children":419},{"class":110,"line":418},14,[420,425],{"type":32,"tag":108,"props":421,"children":422},{"style":125},[423],{"type":37,"value":424},"    return",{"type":32,"tag":108,"props":426,"children":427},{"style":131},[428],{"type":37,"value":429}," prob_b_wins\n",{"type":32,"tag":108,"props":431,"children":433},{"class":110,"line":432},15,[434],{"type":32,"tag":108,"props":435,"children":436},{"emptyLinePlaceholder":174},[437],{"type":37,"value":177},{"type":32,"tag":108,"props":439,"children":441},{"class":110,"line":440},16,[442],{"type":32,"tag":108,"props":443,"children":444},{"style":115},[445],{"type":37,"value":446},"# Exemple : Groupe d'assets A : 120 conversions, 2400$ de coûts vs B : 95 conversions, 1800$ de coûts\n",{"type":32,"tag":108,"props":448,"children":450},{"class":110,"line":449},17,[451,456,460,465,470,475,480,484,489,493,498],{"type":32,"tag":108,"props":452,"children":453},{"style":131},[454],{"type":37,"value":455},"prob ",{"type":32,"tag":108,"props":457,"children":458},{"style":125},[459],{"type":37,"value":202},{"type":32,"tag":108,"props":461,"children":462},{"style":131},[463],{"type":37,"value":464}," bayesian_winner(",{"type":32,"tag":108,"props":466,"children":467},{"style":205},[468],{"type":37,"value":469},"120",{"type":32,"tag":108,"props":471,"children":472},{"style":131},[473],{"type":37,"value":474},", ",{"type":32,"tag":108,"props":476,"children":477},{"style":205},[478],{"type":37,"value":479},"2400",{"type":32,"tag":108,"props":481,"children":482},{"style":131},[483],{"type":37,"value":474},{"type":32,"tag":108,"props":485,"children":486},{"style":205},[487],{"type":37,"value":488},"95",{"type":32,"tag":108,"props":490,"children":491},{"style":131},[492],{"type":37,"value":474},{"type":32,"tag":108,"props":494,"children":495},{"style":205},[496],{"type":37,"value":497},"1800",{"type":32,"tag":108,"props":499,"children":500},{"style":131},[501],{"type":37,"value":502},")\n",{"type":32,"tag":108,"props":504,"children":506},{"class":110,"line":505},18,[507,512,517,522,528,533,538,543,548,553],{"type":32,"tag":108,"props":508,"children":509},{"style":205},[510],{"type":37,"value":511},"print",{"type":32,"tag":108,"props":513,"children":514},{"style":131},[515],{"type":37,"value":516},"(",{"type":32,"tag":108,"props":518,"children":519},{"style":125},[520],{"type":37,"value":521},"f",{"type":32,"tag":108,"props":523,"children":525},{"style":524},"--shiki-default:#9ECBFF",[526],{"type":37,"value":527},"\"Probabilité que B gagne : ",{"type":32,"tag":108,"props":529,"children":530},{"style":205},[531],{"type":37,"value":532},"{",{"type":32,"tag":108,"props":534,"children":535},{"style":131},[536],{"type":37,"value":537},"prob",{"type":32,"tag":108,"props":539,"children":540},{"style":125},[541],{"type":37,"value":542},":.2%",{"type":32,"tag":108,"props":544,"children":545},{"style":205},[546],{"type":37,"value":547},"}",{"type":32,"tag":108,"props":549,"children":550},{"style":524},[551],{"type":37,"value":552},"\"",{"type":32,"tag":108,"props":554,"children":555},{"style":131},[556],{"type":37,"value":502},{"type":32,"tag":108,"props":558,"children":560},{"class":110,"line":559},19,[561],{"type":32,"tag":108,"props":562,"children":563},{"style":115},[564],{"type":37,"value":565},"# Si > 0.95, B est gagnant, basculez le budget vers B\n",{"type":32,"tag":48,"props":567,"children":569},{"id":568},"diversité-des-formats-statique-carrousel-vidéo-collection",[570],{"type":37,"value":571},"Diversité des formats : statique, carrousel, vidéo, collection",{"type":32,"tag":33,"props":573,"children":574},{},[575],{"type":37,"value":576},"Les formats différents sont là où les algorithmes capturent le plus de signal. Tester le même message sur un visuel statique, une vidéo et un carrousel donne à la machine la chance d'apprendre différents motifs de comportement utilisateur. Par exemple, dans Performance Max, les vidéos sont généralement diffusées en découverte et sur YouTube, les statiques sur le display — mais vous ne saurez pas laquelle offre le meilleur ROAS, l'algorithme sait. Si vous ne lui donnez pas le choix, il utilise son mix de placement par défaut et ne trouve jamais la distribution optimale.",{"type":32,"tag":33,"props":578,"children":579},{},[580],{"type":37,"value":581},"En pratique, vous pouvez structurer le pipeline créatif ainsi :",{"type":32,"tag":583,"props":584,"children":585},"table",{},[586,615],{"type":32,"tag":587,"props":588,"children":589},"thead",{},[590],{"type":32,"tag":591,"props":592,"children":593},"tr",{},[594,600,605,610],{"type":32,"tag":595,"props":596,"children":597},"th",{},[598],{"type":37,"value":599},"Format",{"type":32,"tag":595,"props":601,"children":602},{},[603],{"type":37,"value":604},"Temps de production",{"type":32,"tag":595,"props":606,"children":607},{},[608],{"type":37,"value":609},"Temps de test",{"type":32,"tag":595,"props":611,"children":612},{},[613],{"type":37,"value":614},"Taux de gain (moyenne Roibase)",{"type":32,"tag":616,"props":617,"children":618},"tbody",{},[619,643,666,689],{"type":32,"tag":591,"props":620,"children":621},{},[622,628,633,638],{"type":32,"tag":623,"props":624,"children":625},"td",{},[626],{"type":37,"value":627},"Statique (5 variations)",{"type":32,"tag":623,"props":629,"children":630},{},[631],{"type":37,"value":632},"2 jours",{"type":32,"tag":623,"props":634,"children":635},{},[636],{"type":37,"value":637},"7 jours",{"type":32,"tag":623,"props":639,"children":640},{},[641],{"type":37,"value":642},"40 % (au minimum 1 gagnant)",{"type":32,"tag":591,"props":644,"children":645},{},[646,651,656,661],{"type":32,"tag":623,"props":647,"children":648},{},[649],{"type":37,"value":650},"Carrousel (3 sets, 3 cartes chacun)",{"type":32,"tag":623,"props":652,"children":653},{},[654],{"type":37,"value":655},"3 jours",{"type":32,"tag":623,"props":657,"children":658},{},[659],{"type":37,"value":660},"10 jours",{"type":32,"tag":623,"props":662,"children":663},{},[664],{"type":37,"value":665},"25 % (moins de gagnants, mais lift important)",{"type":32,"tag":591,"props":667,"children":668},{},[669,674,679,684],{"type":32,"tag":623,"props":670,"children":671},{},[672],{"type":37,"value":673},"Vidéo (15 sec, 3 variations)",{"type":32,"tag":623,"props":675,"children":676},{},[677],{"type":37,"value":678},"5 jours",{"type":32,"tag":623,"props":680,"children":681},{},[682],{"type":37,"value":683},"14 jours",{"type":32,"tag":623,"props":685,"children":686},{},[687],{"type":37,"value":688},"50 % (baisse de coût de 20%+ quand gagnant)",{"type":32,"tag":591,"props":690,"children":691},{},[692,697,701,705],{"type":32,"tag":623,"props":693,"children":694},{},[695],{"type":37,"value":696},"Collection (1 héros + 4 produits)",{"type":32,"tag":623,"props":698,"children":699},{},[700],{"type":37,"value":632},{"type":32,"tag":623,"props":702,"children":703},{},[704],{"type":37,"value":637},{"type":32,"tag":623,"props":706,"children":707},{},[708],{"type":37,"value":709},"30 % (puissant pour l'e-commerce)",{"type":32,"tag":33,"props":711,"children":712},{},[713,715,720],{"type":37,"value":714},"La production vidéo semble prendre 5 jours, mais ce n'est pas un tournage professionnel — montage basé sur des templates avec stock footage + product shots + overlays texte. CapCut et Canva font déjà l'assemblage automatique avec l'IA. Ce qui compte, c'est que la vidéo attire en 3 secondes et que l'appel à l'action est clair. Le rapport ",{"type":32,"tag":40,"props":716,"children":717},{},[718],{"type":37,"value":719},"Creative Guidance",{"type":37,"value":721}," de Meta vise le taux de visionnage de 3 secondes — s'il est sous 50 %, la vidéo ne fonctionne pas.",{"type":32,"tag":33,"props":723,"children":724},{},[725],{"type":37,"value":726},"Avec le format carrousel, attention : chaque carte doit porter un message indépendant. Une séquence « Carte 1 : produit, Carte 2 : prix, Carte 3 : livraison » ne crée pas de signal pour l'algorithme Meta, parce que 80 % des utilisateurs n'iront pas au-delà de la première carte. Au lieu de cela, chaque carte doit montrer une proposition de valeur ou une SKU différente — l'algorithme peut alors déduire « cet utilisateur a cliqué sur la carte 2, il s'intéresse à cette caractéristique ».",{"type":32,"tag":48,"props":728,"children":730},{"id":729},"mesure-de-lincrémentalité-cest-le-créatif-gagnant-ou-le-changement-daudience",[731],{"type":37,"value":732},"Mesure de l'incrémentalité : c'est le créatif gagnant ou le changement d'audience ?",{"type":32,"tag":33,"props":734,"children":735},{},[736],{"type":37,"value":737},"L'erreur majeure en interprétant les résultats de test créatif : vous lancez un nouveau set créatif, le ROAS monte, vous déclarez victoire — mais en réalité, l'algorithme a juste changé sa cible vers un segment plus facile à convertir, et le volume total de conversions a baissé. Appel cela un pseudo-gagnant. Pour l'éviter, vous devez faire une vérification d'incrémentalité : en testant le nouveau set créatif, assurez-vous que le nombre total de conversions n'a pas baissé (pas seulement le ROAS). Si le ROAS monte de 20 % mais les conversions baissent de 15 %, l'algorithme s'est focalisé sur un segment étroit — cela crée un problème de scale à long terme.",{"type":32,"tag":33,"props":739,"children":740},{},[741],{"type":37,"value":742},"Deux méthodes :",{"type":32,"tag":744,"props":745,"children":746},"ol",{},[747,759],{"type":32,"tag":748,"props":749,"children":750},"li",{},[751,757],{"type":32,"tag":752,"props":753,"children":754},"strong",{},[755],{"type":37,"value":756},"Test géographique holdout :",{"type":37,"value":758}," Divisez par État (par ex., Californie + Texas avec le nouveau créatif, Floride + New York avec l'ancien). Après 2 semaines, vérifiez l'augmentation du nombre total de conversions. Si les géos avec le nouveau créatif ont 10 % plus de conversions, c'est un vrai lift.",{"type":32,"tag":748,"props":760,"children":761},{},[762,767],{"type":32,"tag":752,"props":763,"children":764},{},[765],{"type":37,"value":766},"Vérification du rythme budgétaire :",{"type":37,"value":768}," Vous donnez 20 % du budget au test et 80 % au contrôle. Si la campagne de test brûle rapidement son budget et atteint le statut « limité par le budget » tout en maintenant un ROAS élevé, c'est un vrai gagnant. Mais si le budget s'épuise lentement et que le ROAS est élevé, l'algorithme tourne sur un segment étroit.",{"type":32,"tag":33,"props":770,"children":771},{},[772],{"type":37,"value":773},"Chez Roibase, le test d'incrémentalité basé sur la géographie est obligatoire — surtout sur les budgets $50K+ mensuels. Pour cela, un simple script Python avec l'API Google Ads + BigQuery extrait les données de conversions par dimension géographique et effectue un test t. S'il y a un lift avec 95 % de confiance, le créatif est gagnant ; sinon, l'itération continue.",{"type":32,"tag":48,"props":775,"children":777},{"id":776},"automatisation-pipeline-figma-api-bulk-upload",[778],{"type":37,"value":779},"Automatisation : pipeline Figma API + bulk upload",{"type":32,"tag":33,"props":781,"children":782},{},[783],{"type":37,"value":784},"Le processus manuel d'upload créatif ne s'adapte pas à l'échelle. 20 variations × 3 formats = 60 assets, l'upload manuel de chacun dans Google Ads prend 2 heures. Au lieu de cela, mettez en place un pipeline d'automatisation :",{"type":32,"tag":744,"props":786,"children":787},{},[788,798,808,834],{"type":32,"tag":748,"props":789,"children":790},{},[791,796],{"type":32,"tag":752,"props":792,"children":793},{},[794],{"type":37,"value":795},"Figma → Export :",{"type":37,"value":797}," Dans la bibliothèque de composants Figma, un plugin auto-export toutes les variations (via l'API REST Figma). Chaque variation génère un fichier JSON + export PNG\u002FMP4.",{"type":32,"tag":748,"props":799,"children":800},{},[801,806],{"type":32,"tag":752,"props":802,"children":803},{},[804],{"type":37,"value":805},"Injection de métadonnées :",{"type":37,"value":807}," Le JSON étiquette chaque variation (angle, format, proxy d'audience). Ces étiquettes sont réutilisées plus tard pour l'assignation de groupes d'assets.",{"type":32,"tag":748,"props":809,"children":810},{},[811,816,818,824,826,832],{"type":32,"tag":752,"props":812,"children":813},{},[814],{"type":37,"value":815},"Google Ads \u002F Meta bulk upload :",{"type":37,"value":817}," Utilisez l'endpoint ",{"type":32,"tag":104,"props":819,"children":821},{"className":820},[],[822],{"type":37,"value":823},"AssetService",{"type":37,"value":825}," de l'API Google Ads pour l'upload par batch. Côté Meta, utilisez l'API de création de campagne, créant un objet ",{"type":32,"tag":104,"props":827,"children":829},{"className":828},[],[830],{"type":37,"value":831},"ad_creative",{"type":37,"value":833}," pour chaque créatif.",{"type":32,"tag":748,"props":835,"children":836},{},[837,842],{"type":32,"tag":752,"props":838,"children":839},{},[840],{"type":37,"value":841},"Auto asset group assignment :",{"type":37,"value":843}," Attribuez automatiquement les nouvelles variations au groupe d'assets recevant le moins d'impressions (accélère le test).",{"type":32,"tag":33,"props":845,"children":846},{},[847],{"type":37,"value":848},"Ce pipeline ramène le temps d'upload créatif de 2 heures à 15 minutes. Vous pouvez même l'automatiser chaque lundi matin pour basculer automatiquement les créations gagnantes de la semaine précédente au groupe d'assets principal.",{"type":32,"tag":97,"props":850,"children":854},{"className":851,"code":852,"language":853,"meta":16,"style":16},"language-javascript shiki shiki-themes github-dark","\u002F\u002F Export de composants via l'API REST Figma (exemple Node.js)\nconst axios = require('axios');\nconst fs = require('fs');\n\nconst FIGMA_TOKEN = process.env.FIGMA_TOKEN;\nconst FILE_KEY = 'your-figma-file-key';\n\nasync function exportVariations() {\n  const response = await axios.get(`https:\u002F\u002Fapi.figma.com\u002Fv1\u002Ffiles\u002F${FILE_KEY}`, {\n    headers: { 'X-Figma-Token': FIGMA_TOKEN }\n  });\n  \n  const components = response.data.document.children\n    .filter(node => node.type === 'COMPONENT')\n    .map(node => ({ id: node.id, name: node.name }));\n\n  for (const comp of components) {\n    const imageUrl = await axios.get(`https:\u002F\u002Fapi.figma.com\u002Fv1\u002Fimages\u002F${FILE_KEY}?ids=${comp.id}&format=png`, {\n      headers: { 'X-Figma-Token': FIGMA_TOKEN }\n    });\n    \n    \u002F\u002F Télécharger et uploader vers Google Cloud Storage\n    const image = await axios.get(imageUrl.data.images[comp.id], { responseType: 'arraybuffer' });\n    fs.writeFileSync(`.\u002Fexports\u002F${comp.name}.png`, image.data);\n  }\n}\n\nexportVariations();\n","javascript",[855],{"type":32,"tag":104,"props":856,"children":857},{"__ignoreMap":16},[858,866,903,936,943,974,999,1006,1029,1085,1112,1120,1128,1149,1196,1225,1232,1264,1335,1359,1368,1376,1385,1429,1475,1484,1493,1501],{"type":32,"tag":108,"props":859,"children":860},{"class":110,"line":111},[861],{"type":32,"tag":108,"props":862,"children":863},{"style":115},[864],{"type":37,"value":865},"\u002F\u002F Export de composants via l'API REST Figma (exemple Node.js)\n",{"type":32,"tag":108,"props":867,"children":868},{"class":110,"line":121},[869,874,879,884,889,893,898],{"type":32,"tag":108,"props":870,"children":871},{"style":125},[872],{"type":37,"value":873},"const",{"type":32,"tag":108,"props":875,"children":876},{"style":205},[877],{"type":37,"value":878}," axios",{"type":32,"tag":108,"props":880,"children":881},{"style":125},[882],{"type":37,"value":883}," =",{"type":32,"tag":108,"props":885,"children":886},{"style":189},[887],{"type":37,"value":888}," require",{"type":32,"tag":108,"props":890,"children":891},{"style":131},[892],{"type":37,"value":516},{"type":32,"tag":108,"props":894,"children":895},{"style":524},[896],{"type":37,"value":897},"'axios'",{"type":32,"tag":108,"props":899,"children":900},{"style":131},[901],{"type":37,"value":902},");\n",{"type":32,"tag":108,"props":904,"children":905},{"class":110,"line":147},[906,910,915,919,923,927,932],{"type":32,"tag":108,"props":907,"children":908},{"style":125},[909],{"type":37,"value":873},{"type":32,"tag":108,"props":911,"children":912},{"style":205},[913],{"type":37,"value":914}," fs",{"type":32,"tag":108,"props":916,"children":917},{"style":125},[918],{"type":37,"value":883},{"type":32,"tag":108,"props":920,"children":921},{"style":189},[922],{"type":37,"value":888},{"type":32,"tag":108,"props":924,"children":925},{"style":131},[926],{"type":37,"value":516},{"type":32,"tag":108,"props":928,"children":929},{"style":524},[930],{"type":37,"value":931},"'fs'",{"type":32,"tag":108,"props":933,"children":934},{"style":131},[935],{"type":37,"value":902},{"type":32,"tag":108,"props":937,"children":938},{"class":110,"line":170},[939],{"type":32,"tag":108,"props":940,"children":941},{"emptyLinePlaceholder":174},[942],{"type":37,"value":177},{"type":32,"tag":108,"props":944,"children":945},{"class":110,"line":180},[946,950,955,959,964,969],{"type":32,"tag":108,"props":947,"children":948},{"style":125},[949],{"type":37,"value":873},{"type":32,"tag":108,"props":951,"children":952},{"style":205},[953],{"type":37,"value":954}," FIGMA_TOKEN",{"type":32,"tag":108,"props":956,"children":957},{"style":125},[958],{"type":37,"value":883},{"type":32,"tag":108,"props":960,"children":961},{"style":131},[962],{"type":37,"value":963}," process.env.",{"type":32,"tag":108,"props":965,"children":966},{"style":205},[967],{"type":37,"value":968},"FIGMA_TOKEN",{"type":32,"tag":108,"props":970,"children":971},{"style":131},[972],{"type":37,"value":973},";\n",{"type":32,"tag":108,"props":975,"children":976},{"class":110,"line":229},[977,981,986,990,995],{"type":32,"tag":108,"props":978,"children":979},{"style":125},[980],{"type":37,"value":873},{"type":32,"tag":108,"props":982,"children":983},{"style":205},[984],{"type":37,"value":985}," FILE_KEY",{"type":32,"tag":108,"props":987,"children":988},{"style":125},[989],{"type":37,"value":883},{"type":32,"tag":108,"props":991,"children":992},{"style":524},[993],{"type":37,"value":994}," 'your-figma-file-key'",{"type":32,"tag":108,"props":996,"children":997},{"style":131},[998],{"type":37,"value":973},{"type":32,"tag":108,"props":1000,"children":1001},{"class":110,"line":238},[1002],{"type":32,"tag":108,"props":1003,"children":1004},{"emptyLinePlaceholder":174},[1005],{"type":37,"value":177},{"type":32,"tag":108,"props":1007,"children":1008},{"class":110,"line":295},[1009,1014,1019,1024],{"type":32,"tag":108,"props":1010,"children":1011},{"style":125},[1012],{"type":37,"value":1013},"async",{"type":32,"tag":108,"props":1015,"children":1016},{"style":125},[1017],{"type":37,"value":1018}," function",{"type":32,"tag":108,"props":1020,"children":1021},{"style":189},[1022],{"type":37,"value":1023}," exportVariations",{"type":32,"tag":108,"props":1025,"children":1026},{"style":131},[1027],{"type":37,"value":1028},"() {\n",{"type":32,"tag":108,"props":1030,"children":1031},{"class":110,"line":26},[1032,1037,1042,1046,1051,1056,1061,1065,1070,1075,1080],{"type":32,"tag":108,"props":1033,"children":1034},{"style":125},[1035],{"type":37,"value":1036},"  const",{"type":32,"tag":108,"props":1038,"children":1039},{"style":205},[1040],{"type":37,"value":1041}," response",{"type":32,"tag":108,"props":1043,"children":1044},{"style":125},[1045],{"type":37,"value":883},{"type":32,"tag":108,"props":1047,"children":1048},{"style":125},[1049],{"type":37,"value":1050}," await",{"type":32,"tag":108,"props":1052,"children":1053},{"style":131},[1054],{"type":37,"value":1055}," axios.",{"type":32,"tag":108,"props":1057,"children":1058},{"style":189},[1059],{"type":37,"value":1060},"get",{"type":32,"tag":108,"props":1062,"children":1063},{"style":131},[1064],{"type":37,"value":516},{"type":32,"tag":108,"props":1066,"children":1067},{"style":524},[1068],{"type":37,"value":1069},"`https:\u002F\u002Fapi.figma.com\u002Fv1\u002Ffiles\u002F${",{"type":32,"tag":108,"props":1071,"children":1072},{"style":205},[1073],{"type":37,"value":1074},"FILE_KEY",{"type":32,"tag":108,"props":1076,"children":1077},{"style":524},[1078],{"type":37,"value":1079},"}`",{"type":32,"tag":108,"props":1081,"children":1082},{"style":131},[1083],{"type":37,"value":1084},", {\n",{"type":32,"tag":108,"props":1086,"children":1087},{"class":110,"line":355},[1088,1093,1098,1103,1107],{"type":32,"tag":108,"props":1089,"children":1090},{"style":131},[1091],{"type":37,"value":1092},"    headers: { ",{"type":32,"tag":108,"props":1094,"children":1095},{"style":524},[1096],{"type":37,"value":1097},"'X-Figma-Token'",{"type":32,"tag":108,"props":1099,"children":1100},{"style":131},[1101],{"type":37,"value":1102},": ",{"type":32,"tag":108,"props":1104,"children":1105},{"style":205},[1106],{"type":37,"value":968},{"type":32,"tag":108,"props":1108,"children":1109},{"style":131},[1110],{"type":37,"value":1111}," }\n",{"type":32,"tag":108,"props":1113,"children":1114},{"class":110,"line":364},[1115],{"type":32,"tag":108,"props":1116,"children":1117},{"style":131},[1118],{"type":37,"value":1119},"  });\n",{"type":32,"tag":108,"props":1121,"children":1122},{"class":110,"line":382},[1123],{"type":32,"tag":108,"props":1124,"children":1125},{"style":131},[1126],{"type":37,"value":1127},"  \n",{"type":32,"tag":108,"props":1129,"children":1130},{"class":110,"line":410},[1131,1135,1140,1144],{"type":32,"tag":108,"props":1132,"children":1133},{"style":125},[1134],{"type":37,"value":1036},{"type":32,"tag":108,"props":1136,"children":1137},{"style":205},[1138],{"type":37,"value":1139}," components",{"type":32,"tag":108,"props":1141,"children":1142},{"style":125},[1143],{"type":37,"value":883},{"type":32,"tag":108,"props":1145,"children":1146},{"style":131},[1147],{"type":37,"value":1148}," response.data.document.children\n",{"type":32,"tag":108,"props":1150,"children":1151},{"class":110,"line":418},[1152,1157,1162,1166,1172,1177,1182,1187,1192],{"type":32,"tag":108,"props":1153,"children":1154},{"style":131},[1155],{"type":37,"value":1156},"    .",{"type":32,"tag":108,"props":1158,"children":1159},{"style":189},[1160],{"type":37,"value":1161},"filter",{"type":32,"tag":108,"props":1163,"children":1164},{"style":131},[1165],{"type":37,"value":516},{"type":32,"tag":108,"props":1167,"children":1169},{"style":1168},"--shiki-default:#FFAB70",[1170],{"type":37,"value":1171},"node",{"type":32,"tag":108,"props":1173,"children":1174},{"style":125},[1175],{"type":37,"value":1176}," =>",{"type":32,"tag":108,"props":1178,"children":1179},{"style":131},[1180],{"type":37,"value":1181}," node.type ",{"type":32,"tag":108,"props":1183,"children":1184},{"style":125},[1185],{"type":37,"value":1186},"===",{"type":32,"tag":108,"props":1188,"children":1189},{"style":524},[1190],{"type":37,"value":1191}," 'COMPONENT'",{"type":32,"tag":108,"props":1193,"children":1194},{"style":131},[1195],{"type":37,"value":502},{"type":32,"tag":108,"props":1197,"children":1198},{"class":110,"line":432},[1199,1203,1208,1212,1216,1220],{"type":32,"tag":108,"props":1200,"children":1201},{"style":131},[1202],{"type":37,"value":1156},{"type":32,"tag":108,"props":1204,"children":1205},{"style":189},[1206],{"type":37,"value":1207},"map",{"type":32,"tag":108,"props":1209,"children":1210},{"style":131},[1211],{"type":37,"value":516},{"type":32,"tag":108,"props":1213,"children":1214},{"style":1168},[1215],{"type":37,"value":1171},{"type":32,"tag":108,"props":1217,"children":1218},{"style":125},[1219],{"type":37,"value":1176},{"type":32,"tag":108,"props":1221,"children":1222},{"style":131},[1223],{"type":37,"value":1224}," ({ id: node.id, name: node.name }));\n",{"type":32,"tag":108,"props":1226,"children":1227},{"class":110,"line":440},[1228],{"type":32,"tag":108,"props":1229,"children":1230},{"emptyLinePlaceholder":174},[1231],{"type":37,"value":177},{"type":32,"tag":108,"props":1233,"children":1234},{"class":110,"line":449},[1235,1240,1245,1249,1254,1259],{"type":32,"tag":108,"props":1236,"children":1237},{"style":125},[1238],{"type":37,"value":1239},"  for",{"type":32,"tag":108,"props":1241,"children":1242},{"style":131},[1243],{"type":37,"value":1244}," (",{"type":32,"tag":108,"props":1246,"children":1247},{"style":125},[1248],{"type":37,"value":873},{"type":32,"tag":108,"props":1250,"children":1251},{"style":205},[1252],{"type":37,"value":1253}," comp",{"type":32,"tag":108,"props":1255,"children":1256},{"style":125},[1257],{"type":37,"value":1258}," of",{"type":32,"tag":108,"props":1260,"children":1261},{"style":131},[1262],{"type":37,"value":1263}," components) {\n",{"type":32,"tag":108,"props":1265,"children":1266},{"class":110,"line":505},[1267,1272,1277,1281,1285,1289,1293,1297,1302,1306,1311,1316,1321,1326,1331],{"type":32,"tag":108,"props":1268,"children":1269},{"style":125},[1270],{"type":37,"value":1271},"    const",{"type":32,"tag":108,"props":1273,"children":1274},{"style":205},[1275],{"type":37,"value":1276}," imageUrl",{"type":32,"tag":108,"props":1278,"children":1279},{"style":125},[1280],{"type":37,"value":883},{"type":32,"tag":108,"props":1282,"children":1283},{"style":125},[1284],{"type":37,"value":1050},{"type":32,"tag":108,"props":1286,"children":1287},{"style":131},[1288],{"type":37,"value":1055},{"type":32,"tag":108,"props":1290,"children":1291},{"style":189},[1292],{"type":37,"value":1060},{"type":32,"tag":108,"props":1294,"children":1295},{"style":131},[1296],{"type":37,"value":516},{"type":32,"tag":108,"props":1298,"children":1299},{"style":524},[1300],{"type":37,"value":1301},"`https:\u002F\u002Fapi.figma.com\u002Fv1\u002Fimages\u002F${",{"type":32,"tag":108,"props":1303,"children":1304},{"style":205},[1305],{"type":37,"value":1074},{"type":32,"tag":108,"props":1307,"children":1308},{"style":524},[1309],{"type":37,"value":1310},"}?ids=${",{"type":32,"tag":108,"props":1312,"children":1313},{"style":131},[1314],{"type":37,"value":1315},"comp",{"type":32,"tag":108,"props":1317,"children":1318},{"style":524},[1319],{"type":37,"value":1320},".",{"type":32,"tag":108,"props":1322,"children":1323},{"style":131},[1324],{"type":37,"value":1325},"id",{"type":32,"tag":108,"props":1327,"children":1328},{"style":524},[1329],{"type":37,"value":1330},"}&format=png`",{"type":32,"tag":108,"props":1332,"children":1333},{"style":131},[1334],{"type":37,"value":1084},{"type":32,"tag":108,"props":1336,"children":1337},{"class":110,"line":559},[1338,1343,1347,1351,1355],{"type":32,"tag":108,"props":1339,"children":1340},{"style":131},[1341],{"type":37,"value":1342},"      headers: { ",{"type":32,"tag":108,"props":1344,"children":1345},{"style":524},[1346],{"type":37,"value":1097},{"type":32,"tag":108,"props":1348,"children":1349},{"style":131},[1350],{"type":37,"value":1102},{"type":32,"tag":108,"props":1352,"children":1353},{"style":205},[1354],{"type":37,"value":968},{"type":32,"tag":108,"props":1356,"children":1357},{"style":131},[1358],{"type":37,"value":1111},{"type":32,"tag":108,"props":1360,"children":1362},{"class":110,"line":1361},20,[1363],{"type":32,"tag":108,"props":1364,"children":1365},{"style":131},[1366],{"type":37,"value":1367},"    });\n",{"type":32,"tag":108,"props":1369,"children":1371},{"class":110,"line":1370},21,[1372],{"type":32,"tag":108,"props":1373,"children":1374},{"style":131},[1375],{"type":37,"value":352},{"type":32,"tag":108,"props":1377,"children":1379},{"class":110,"line":1378},22,[1380],{"type":32,"tag":108,"props":1381,"children":1382},{"style":115},[1383],{"type":37,"value":1384},"    \u002F\u002F Télécharger et uploader vers Google Cloud Storage\n",{"type":32,"tag":108,"props":1386,"children":1388},{"class":110,"line":1387},23,[1389,1393,1398,1402,1406,1410,1414,1419,1424],{"type":32,"tag":108,"props":1390,"children":1391},{"style":125},[1392],{"type":37,"value":1271},{"type":32,"tag":108,"props":1394,"children":1395},{"style":205},[1396],{"type":37,"value":1397}," image",{"type":32,"tag":108,"props":1399,"children":1400},{"style":125},[1401],{"type":37,"value":883},{"type":32,"tag":108,"props":1403,"children":1404},{"style":125},[1405],{"type":37,"value":1050},{"type":32,"tag":108,"props":1407,"children":1408},{"style":131},[1409],{"type":37,"value":1055},{"type":32,"tag":108,"props":1411,"children":1412},{"style":189},[1413],{"type":37,"value":1060},{"type":32,"tag":108,"props":1415,"children":1416},{"style":131},[1417],{"type":37,"value":1418},"(imageUrl.data.images[comp.id], { responseType: ",{"type":32,"tag":108,"props":1420,"children":1421},{"style":524},[1422],{"type":37,"value":1423},"'arraybuffer'",{"type":32,"tag":108,"props":1425,"children":1426},{"style":131},[1427],{"type":37,"value":1428}," });\n",{"type":32,"tag":108,"props":1430,"children":1432},{"class":110,"line":1431},24,[1433,1438,1443,1447,1452,1456,1460,1465,1470],{"type":32,"tag":108,"props":1434,"children":1435},{"style":131},[1436],{"type":37,"value":1437},"    fs.",{"type":32,"tag":108,"props":1439,"children":1440},{"style":189},[1441],{"type":37,"value":1442},"writeFileSync",{"type":32,"tag":108,"props":1444,"children":1445},{"style":131},[1446],{"type":37,"value":516},{"type":32,"tag":108,"props":1448,"children":1449},{"style":524},[1450],{"type":37,"value":1451},"`.\u002Fexports\u002F${",{"type":32,"tag":108,"props":1453,"children":1454},{"style":131},[1455],{"type":37,"value":1315},{"type":32,"tag":108,"props":1457,"children":1458},{"style":524},[1459],{"type":37,"value":1320},{"type":32,"tag":108,"props":1461,"children":1462},{"style":131},[1463],{"type":37,"value":1464},"name",{"type":32,"tag":108,"props":1466,"children":1467},{"style":524},[1468],{"type":37,"value":1469},"}.png`",{"type":32,"tag":108,"props":1471,"children":1472},{"style":131},[1473],{"type":37,"value":1474},", image.data);\n",{"type":32,"tag":108,"props":1476,"children":1478},{"class":110,"line":1477},25,[1479],{"type":32,"tag":108,"props":1480,"children":1481},{"style":131},[1482],{"type":37,"value":1483},"  }\n",{"type":32,"tag":108,"props":1485,"children":1487},{"class":110,"line":1486},26,[1488],{"type":32,"tag":108,"props":1489,"children":1490},{"style":131},[1491],{"type":37,"value":1492},"}\n",{"type":32,"tag":108,"props":1494,"children":1496},{"class":110,"line":1495},27,[1497],{"type":32,"tag":108,"props":1498,"children":1499},{"emptyLinePlaceholder":174},[1500],{"type":37,"value":177},{"type":32,"tag":108,"props":1502,"children":1504},{"class":110,"line":1503},28,[1505,1510],{"type":32,"tag":108,"props":1506,"children":1507},{"style":189},[1508],{"type":37,"value":1509},"exportVariations",{"type":32,"tag":108,"props":1511,"children":1512},{"style":131},[1513],{"type":37,"value":1514},"();\n",{"type":32,"tag":48,"props":1516,"children":1518},{"id":1517},"scaler-le-gagnant-cycle-de-renouvellement-créatif",[1519],{"type":37,"value":1520},"Scaler le gagnant : cycle de renouvellement créatif",{"type":32,"tag":33,"props":1522,"children":1523},{},[1524],{"type":37,"value":1525},"Quand une créativité gagne, ne pas la réutiliser à l'infini — la fatigue créative est réelle. Sur Meta, après environ 14 jours, la fréquence du même créatif monte à 3.5+, et le CTR baisse de 30 %. Dans Google Performance Max, la fatigue est plus lente (grâce à la diversité des placements) mais après 30 jours, l'effet s'atténue aussi. Pour cela, établissez un cycle de renouvellement créatif :",{"type":32,"tag":1527,"props":1528,"children":1529},"ul",{},[1530,1540],{"type":32,"tag":748,"props":1531,"children":1532},{},[1533,1538],{"type":32,"tag":752,"props":1534,"children":1535},{},[1536],{"type":37,"value":1537},"Jours 0-14 :",{"type":37,"value":1539}," Testez les variations, trouvez le gagnant.",{"type":32,"tag":748,"props":1541,"children":1542},{},[1543],{"type":37,"value":1544},"**Jours 14-",{"type":32,"tag":1546,"props":1547,"children":1548},"style",{},[1549],{"type":37,"value":1550},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":16,"searchDepth":147,"depth":147,"links":1552},[1553,1554,1555,1556,1557,1558],{"id":50,"depth":121,"text":53},{"id":77,"depth":121,"text":80},{"id":568,"depth":121,"text":571},{"id":729,"depth":121,"text":732},{"id":776,"depth":121,"text":779},{"id":1517,"depth":121,"text":1520},"markdown","content:fr:marketing:strategie-des-variations-pour-l-algorithme-d-encheres.md","content","fr\u002Fmarketing\u002Fstrategie-des-variations-pour-l-algorithme-d-encheres.md","fr\u002Fmarketing\u002Fstrategie-des-variations-pour-l-algorithme-d-encheres","md",1778940270696]