Pour créer des règles de rééquilibrage du budget en fonction du retour sur investissement, vous devez au préalable comprendre l’intérêt de chaque composant. Nous utilisons l’acronyme ROI pour désigner le retour sur investissement (de l’anglais « Return On Investment »).
Cette page décrit tous les composants des règles de rééquilibrage et l’effet de chaque paramètre sur leur fonctionnement.
Étant donné que l’action ne devrait pas être fréquente, nous recommandons d’utiliser les paramètres DAILY
ou CUSTOM
pour la programmation des règles de rééquilibrage.
Le critère d’évaluation fonctionne en synergie avec la spécification de rééquilibrage rebalance_spec
pour déterminer les listes d’objets concernées par le rééquilibrage.
Pour tous les types de rééquilibrage, la liste d’objets qui passe l’évaluation est la source des budgets. La liste des destinataires dépend du type de rééquilibrage spécifié, mais pour la plupart d’entre eux (par exemple, EVEN
), les destinataires sont les objets qui n’ont pas passé l’évaluation.
Par exemple, si le critère de règle de type EVEN
est cost_per_mobile_app_install
> 2.50
, alors tous les ensembles de publicités dont le coût par installation d’application mobile est supérieur à 2,50 seront mis en pause. De plus, les budgets qui leur étaient attribués seront transférés aux ensembles de publicités dont le coût par installation d’application mobile est inférieur ou égal à 2,50.
La valeur rebalance_spec
détermine la façon exacte dont les destinataires recevront leur budget. Il existe cinq paramètres :
Champ | Description |
---|---|
| Obligatoire. Détermine la méthode d’allocation des budgets. Quand la valeur n’est pas Valeurs acceptées : |
| Facultatif. Détermine l’indicateur Insights pris en compte pour classer les destinataires. Obligatoire quand la valeur du paramètre Valeurs acceptées : l’un des champs Insights, notamment |
| Facultatif. Détermine le nombre (K) de destinataires. Associé à Valeurs acceptées : nombre entier, comme |
| Facultatif. Détermine si les budgets peuvent ou non être répartis entre plusieurs campagnes publicitaires. Si ce paramètre est absent ou si la valeur est Valeurs acceptées : opérateur booléen, comme |
| Facultatif. Détermine si les destinataires doivent ou non être classés par leur valeur Valeurs acceptées : opérateur booléen, comme |
Cette action comporte quelques nuances :
Si les ensembles de publicités à rééquilibrer contiennent des budgets quotidiens et globaux, nous séparons les ensembles de publicités dans chacune des deux catégories. Ainsi, les budgets quotidiens des ensembles publicitaires sont attribués uniquement à des ensembles publicitaires qui ont également des budgets quotidiens. Il en va de même pour les budgets globaux.
Quand les ensembles de publicités ont des budgets globaux, nous prenons leur budget restant (la différence entre leur budget global et leurs dépenses globales) pour déterminer le montant du budget à redistribuer. Cela permet de préserver le budget total au niveau de la campagne publicitaire.
rebalance_spec
Pour les types EVEN
et PROPORTIONAL
, nous mettons en pause les objets correspondants (donateurs du budget aux destinataires). Quand nous mettons ces objets en pause, nous ne touchons aucunement à leur budget, pour les raisons suivantes :
Ainsi, si vous venez à réactiver l’ensemble de publicités, il aura le même budget qu’au moment de sa mise en pause. Vous pouvez le vérifier en interagissant avec l’objet mis en pause et en récupérant les données relatives à son budget.
Pour le type NO_PAUSE_PROPORTIONAL
, nous ne mettons pas les objets correspondants en pause. Nous déterminons la part du budget à répartir en évaluant la performance de tous les objets (donateurs et destinataires). Vous avez ainsi la garantie que le budget est transféré uniquement des donateurs aux destinataires. Cette configuration évite le rééquilibrage d’un ensemble de publicités performant vers un autre moins performant, uniquement en fonction du budget dont il dispose. Référez-vous à l’exemple ci-dessous pour en savoir plus.
Pour le type MATCHED_ONLY_PROPORTIONAL
, nous évaluons uniquement les objets correspondants. Là encore, nous ne les mettons pas en pause. Nous les comparons et redistribuons leur budget en fonction de leurs performances. Autrement dit, nous prenons le budget total de tous les donateurs et le partageons proportionnellement avec la même liste de donateurs. Référez-vous à l’exemple ci-dessous pour en savoir plus.
Pour les types se terminant par PROPORTIONAL
, nous distribuons plus de budgets aux ensembles de publicités qui obtiennent de meilleurs résultats en fonction du target_field
défini. Par exemple, si l’indicateur est reach
et qu’il existe deux ensembles de publicités destinataires avec les valeurs 10 et 20 pour reach
, nous attribuons respectivement 33,3 % et 66,6 % du budget à ces ensembles de publicités. Avec le type EVEN
, chaque ensemble de publicité recevrait 50 %.
is_inverse
Le marqueur is_inverse
est utile pour les indicateurs tels que cost_per_mobile_app_install
, dont une valeur faible démontre des performances élevées. Ce comportement est souligné dans l’exemple ci-dessous et implique que les ensembles de publicités avec un faible indicateur de ce type obtienne une plus grande part du budget lors du rééquilibrage.
Voici un exemple de règle de rééquilibrage qui :
Un ensemble de publicités peu performant présente régulièrement une valeur élevée pour cost_per_mobile_app_install
. Nous répartissons proportionnellement le budget de tous les ensembles de publicités peu performants entre les 10 ensembles de publicités les plus performants du compte publicitaire. Cette règle est exécutée tous les jours à 8 h 00, lors de l’évaluation des données globales.
curl \ -F 'name=Test Rebalance Rule' \ -F 'schedule_spec={ "schedule_type": "CUSTOM", "schedule": [ { "start_minute": 480 } ] }' \ -F 'evaluation_spec={ "evaluation_type": "SCHEDULE", "filters": [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL" }, { "field": "time_preset", "value": "LIFETIME", "operator": "EQUAL" }, { "field": "mobile_app_install", "value": 100, "operator": "GREATER_THAN" }, { "field": "cost_per_mobile_app_install", "value": 3.0, "operator": "GREATER_THAN" } ] }' \ -F 'execution_spec={ "execution_type": "REBALANCE_BUDGET", "execution_options": [ { "field": "rebalance_spec", "value": { "type": "INVERSE_PROPORTIONAL", "target_field": "cost_per_mobile_app_install", "target_count": 10, "is_cross_campaign": true }, "operator": "EQUAL" }, ] }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library
Cette règle :
curl \ -F 'name=Test Rebalance Rule' \ -F 'schedule_spec={ "schedule_type": "DAILY" }' \ -F 'evaluation_spec={ "evaluation_type": "SCHEDULE", "filters": [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL" }, { "field": "time_preset", "value": "LIFETIME", "operator": "EQUAL" }, { "field": "impressions", "value": 8000, "operator": "GREATER_THAN" }, { "field": "audience_reached_percentage", "value": 70, "operator": "GREATER_THAN" } ] }' \ -F 'execution_spec={ "execution_type": "REBALANCE_BUDGET", "execution_options": [ { "field": "rebalance_spec", "value": { "type": "EVEN" }, "operator": "EQUAL" }, ] }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library
Voici un exemple utilisant le type NO_PAUSE_PROPORTIONAL
. Ici, le budget est redistribué des ensembles de publicités des campagnes publicitaires vers ceux qui présentent un faible nombre de vues de vidéos. Cependant, les ensembles de publicités ne sont pas mis en pause et disposent d’un montant proportionnel du budget.
Voici un exemple concret :
1-5
ont video_view
défini sur 1-5
, un budget quotidien de 3000
chacun et la règle ci-dessous. 6000
des ensembles de publicités 1
et 2
, et déterminons comment appliquer une distribution proportionnelle. Dans ce cas, chaque ensemble de publicités est associé à des ratios de 1/15
à 5/15
. 400
, 800
, 4200
, 4600
et 5000
sont donc respectivement attribuées aux ensembles de publicités. Ainsi, les destinataires (ensembles 1
, 2
et 3
) auront toujours un budget plus conséquent.curl \ -F 'name=Test Rebalance Rule' \ -F 'schedule_spec={ "schedule_type": "DAILY" }' \ -F 'evaluation_spec={ "evaluation_type": "SCHEDULE", "filters": [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL" }, { "field": "time_preset", "value": "LIFETIME", "operator": "EQUAL" }, { "field": "video_view", "value": 3, "operator": "LESS_THAN" }, ] }' \ -F 'execution_spec={ "execution_type": "REBALANCE_BUDGET", "execution_options": [ { "field": "rebalance_spec", "value": { "type": "NO_PAUSE_PROPORTIONAL", "target_field": "video_view" }, "operator": "EQUAL" }, ] }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library
Enfin, voici un exemple qui utilise le type MATCHED_ONLY_PROPORTIONAL
. Dans ce cas, inutile de s’inquiéter des objets sans correspondance. Seuls les ensembles de publicités qui correspondent aux filtres de la règle sont concernés. Vous pouvez utiliser l’exemple précédent, à cela près qu’il est inutile de créer deux listes en fonction des faibles performances des ensembles de publicités.
Si nous reprenons les mêmes chiffres, nous nous basons sur le budget total de tous les ensembles de publicités (15000
) et le répartissons de manière proportionnelle. Ainsi, les ensembles 1-5
obtiennent chacun un budget de 1000-5000
.
Le principal inconvénient de ce type
est que certains ensembles de publicités performants peuvent perdre une partie de leur budget; notamment quand les valeurs budgétaires ne sont pas équilibrées. En tout état de cause, si l’ensemble de publicités 5
avait eu un budget initial de 18000
, il aurait perdu 8000
de son budget.
curl \ -F 'name=Test Rebalance Rule' \ -F 'schedule_spec={ "schedule_type": "DAILY" }' \ -F 'evaluation_spec={ "evaluation_type": "SCHEDULE", "filters": [ { "field": "entity_type", "value": "ADSET", "operator": "EQUAL" }, { "field": "time_preset", "value": "LIFETIME", "operator": "EQUAL" }, ] }' \ -F 'execution_spec={ "execution_type": "REBALANCE_BUDGET", "execution_options": [ { "field": "rebalance_spec", "value": { "type": "MATCHED_ONLY_PROPORTIONAL", "target_field": "video_view" }, "operator": "EQUAL" }, ] }' \ -F "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library