Utilisez les Goal et CampaignGoalConfig
ressources de l'API Google Ads pour configurer des objectifs liés au cycle de vie client.
L'API Google Ads est compatible avec les objectifs d'acquisition de clients et
objectifs de rétention pour gérer efficacement les ajustements de la valeur du cycle de vie client
dans vos campagnes Google Ads.
Si votre compte Google Ads utilise le suivi des conversions multicomptes, vous devez configurer les objectifs de cycle de vie au niveau du client dans le compte de conversion Google Ads au lieu de le faire directement dans votre compte Google Ads. Toutefois, vous devez toujours définir les configurations au niveau de la campagne dans votre compte. Cela revient à gérer d'autres objectifs lorsque vous utilisez le suivi des conversions multicomptes.
Types d'objectifs de cycle de vie client
Les objectifs de cycle de vie client sont configurés au niveau du compte à l'aide de la
Goal ressource. Un objectif représente un objectif de cycle de vie spécifique et est défini par son goal_type.
Voici les types d'objectifs de cycle de vie acceptés :
NEW_CUSTOMER_ACQUISITION- Pour acquérir efficacement de nouveaux clients en attribuant des ajustements de valeur à leurs conversions.
CUSTOMER_RETENTION- Pour réengager des clients existants, à fort potentiel et inactifs.
LOYALTY_RETENTION- Pour favoriser la rétention et l'engagement, en particulier auprès des membres du programme de fidélité.
Configurer les objectifs de cycle de vie client
Au niveau du client, configurez un objectif de cycle de vie en créant un
Goal. Il ne peut y avoir qu'un seul Goal par type d'objectif (NEW_CUSTOMER_ACQUISITION, CUSTOMER_RETENTION ou LOYALTY_RETENTION) dans un compte Google Ads.
Paramètres de l'objectif d'acquisition de nouveaux clients
Pour configurer l'acquisition de nouveaux clients, définissez le goal_type sur
NEW_CUSTOMER_ACQUISITION et configurez les paramètres dans le champ
new_customer_acquisition_goal_settings à l'aide de
GoalService.
Le champ new_customer_acquisition_goal_settings.value_settings utilise
CustomerLifecycleOptimizationValueSettings pour
spécifier les ajustements de la valeur de conversion pour les clients acquis :
value_settings(CustomerLifecycleOptimizationValueSettings):value_adjustment(oneof):additional_value(double) : valeur de conversion incrémentale à ajouter à la conversion du premier achat d'un nouveau client.value_multiplier(double) : multiplicateur à appliquer à la valeur de conversion du premier achat d'un nouveau client (non compatible avecNEW_CUSTOMER_ACQUISITION, mais compatible avecLOYALTY_RETENTION).
high_lifetime_value_adjustment(oneof):additional_high_lifetime_value(double) : valeur de conversion incrémentale pour les nouveaux clients identifiés comme ayant une valeur vie élevée.high_lifetime_value_multiplier(double) : multiplicateur de la valeur de conversion à appliquer aux nouveaux clients à valeur vie élevée (non compatible pour le moment).
La valeur vie élevée doit être supérieure à la valeur, et le multiplicateur de la valeur vie élevée doit être strictement supérieur au multiplicateur de valeur, s'il est défini.
def create_nca_goal(client: GoogleAdsClient, customer_id: str) -> None:
"""Sends an API request to add a new New Customer Acquisition Goal.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
"""
goal_operation: GoalOperation = client.get_type("GoalOperation")
goal = goal_operation.create
goal.goal_type = client.enums.GoalTypeEnum.NEW_CUSTOMER_ACQUISITION
# Configure the value adjustments.
value_settings = goal.new_customer_acquisition_goal_settings.value_settings
value_settings.additional_value = 50.0
value_settings.additional_high_lifetime_value = 100.0
goal_service = client.get_service("GoalService")
goal_service.mutate_goals(
customer_id=customer_id, operations=[goal_operation]
)
Paramètres de l'objectif de rétention des clients
Pour configurer la fidélisation client, définissez goal_type sur CUSTOMER_RETENTION et configurez les paramètres dans le champ retention_goal_settings.
Avant de créer un objectif de rétention, vous devez remplir les conditions préalables décrites dans À propos de l'objectif de rétention. Cela inclut une campagne Performance Max et une liste d'utilisateurs de ciblage par liste de clients.
def create_retention_goal(client: GoogleAdsClient, customer_id: str) -> None:
"""Sends an API request to add a new Customer Retention Goal.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
"""
goal_operation: GoalOperation = client.get_type("GoalOperation")
goal = goal_operation.create
goal.goal_type = client.enums.GoalTypeEnum.CUSTOMER_RETENTION
value_settings = goal.retention_goal_settings.value_settings
value_settings.additional_value = 50.0
value_settings.additional_high_lifetime_value = 100.0
goal_service = client.get_service("GoalService")
goal_service.mutate_goals(
customer_id=customer_id, operations=[goal_operation]
)
Cela crée un objectif de rétention au niveau du compte pour le compte client spécifié, qui est appliqué à toutes ses campagnes. Par défaut, cet objectif cible tous les utilisateurs de vos listes d'utilisateurs de ciblage par liste de clients.
Paramètres de l'objectif de fidélisation
Pour configurer des objectifs de rétention de la fidélité pour les membres du programme de fidélité, définissez goal_type sur LOYALTY_RETENTION et configurez les paramètres dans le champ loyalty_retention_goal_settings (LoyaltyRetentionGoal).
Contrairement aux objectifs NEW_CUSTOMER_ACQUISITION et CUSTOMER_RETENTION (qui utilisent
des ajustements de valeur additifs), les objectifs LOYALTY_RETENTION sont compatibles avec le paramètre value_multiplier dans value_settings à l'aide de
CustomerLifecycleOptimizationValueSettings :
def create_loyalty_retention_goal(
client: GoogleAdsClient, customer_id: str
) -> None:
"""Sends an API request to add a new Loyalty Retention Goal.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
"""
goal_operation: GoalOperation = client.get_type("GoalOperation")
goal = goal_operation.create
goal.goal_type = client.enums.GoalTypeEnum.LOYALTY_RETENTION
goal.loyalty_retention_goal_settings.value_settings.value_multiplier = 1.5
goal_service = client.get_service("GoalService")
goal_service.mutate_goals(
customer_id=customer_id, operations=[goal_operation]
)
Segmenter vos audiences
Vous devez utiliser la ressource UserListCustomerType
pour segmenter vos audiences pour les objectifs de cycle de vie client (y compris les objectifs d'acquisition de nouveaux clients, de rétention des clients et de fidélisation). Vous devez associer chaque liste d'utilisateurs à une ou plusieurs catégories en créant un UserListCustomerType pour chaque combinaison de liste d'utilisateurs et de catégorie.
Utilisez UserListCustomerTypeService pour
créer des instances UserListCustomerType.
UserListCustomerTypeService n'est compatible qu'avec les opérations create et remove
. Par conséquent, si vous souhaitez mettre à jour un UserListCustomerType existant, vous devez
le supprimer, puis en créer un avec les mises à jour nécessaires.
Un UserListCustomerType ne peut être attribué qu'à une seule liste d'utilisateurs, mais une liste d'utilisateurs peut avoir plusieurs instances UserListCustomerType associées à condition qu'il n'y ait aucun conflit entre les instances UserListCustomerType. Si vous essayez d'
attribuer UserListCustomerType instances avec les combinaisons suivantes de
customer_type_category à la même liste d'utilisateurs, vous obtenez une erreur
UserListCustomerTypeError.CONFLICTING_CUSTOMER_TYPES :
Premier customer_type_category |
Deuxième customer_type_category |
|---|---|
PURCHASERS |
CONVERTED_LEADS |
PURCHASERS |
QUALIFIED_LEADS |
PURCHASERS |
CART_ABANDONERS |
CONVERTED_LEADS |
QUALIFIED_LEADS |
DISENGAGED_CUSTOMERS |
CONVERTED_LEADS |
DISENGAGED_CUSTOMERS |
QUALIFIED_LEADS |
DISENGAGED_CUSTOMERS |
CART_ABANDONERS |
LOYALTY_TIER_X_MEMBERS |
LOYALTY_TIER_Y_MEMBERS |
Configurer les configurations d'objectif de cycle de vie de la campagne
Au niveau de la campagne, vous pouvez configurer des remplacements ou des
options de ciblage spécifiques à la campagne à l'aide de CampaignGoalConfig. Une fois
que vous disposez d'un objectif au niveau du compte, utilisez son resource_name pour créer un
CampaignGoalConfig à l'aide de la méthode mutate_campaign_goal_configs sur le
CampaignGoalConfigService.
Paramètres d'acquisition de nouveaux clients pour la campagne
Pour remplacer les paramètres ou configurer le ciblage pour l'acquisition de nouveaux clients au niveau de la campagne,
configurez le champ campaign_new_customer_acquisition_settings de type
CampaignNewCustomerAcquisitionGoalSettings :
value_settings_override(Type:CustomerLifecycleOptimizationValueSettings) : ajustements de valeur personnalisés pour remplacer les paramètres au niveau du compte.target_option(Type:CustomerLifecycleOptimizationMode) : contrôle le mode d'optimisation du cycle de vie client. Les options sont les suivantes :TARGET_ALL: la campagne cible à la fois les nouveaux clients et les clients existants, mais définit des enchères plus élevées pour les nouveaux clients à l'aide des ajustements de valeur configurés.TARGET_SPECIFIC: la campagne cible uniquement les nouveaux clients. Les ajustements d'enchères ne s'appliquent pas à cette option.
def create_campaign_nca_config(
client: GoogleAdsClient,
customer_id: str,
goal_resource_name: str,
campaign_resource_name: str,
) -> None:
"""Sends an API request to add a new CampaignGoalConfig for NCA.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
goal_resource_name: the resource name of an existing NCA Goal.
campaign_resource_name: the resource name of an existing Campaign.
"""
operation: CampaignGoalConfigOperation = client.get_type(
"CampaignGoalConfigOperation"
)
goal_config = operation.create
goal_config.campaign = campaign_resource_name
goal_config.goal = goal_resource_name
# Set the target option to target both new and existing customers.
nca_settings = goal_config.campaign_new_customer_acquisition_settings
nca_settings.target_option = (
client.enums.CustomerLifecycleOptimizationModeEnum.TARGET_ALL
)
# Optionally override value settings.
nca_settings.value_settings_override.additional_value = 60.0
campaign_goal_config_service = client.get_service(
"CampaignGoalConfigService"
)
campaign_goal_config_service.mutate_campaign_goal_configs(
customer_id=customer_id, operations=[operation]
)
Paramètres de fidélisation client pour la campagne
Pour remplacer les paramètres ou configurer le ciblage pour les objectifs de rétention au niveau de la campagne, configurez le champ campaign_retention_settings de type
CampaignRetentionGoalSettings :
value_settings_override(Type:CustomerLifecycleOptimizationValueSettings) : ajustements de valeur personnalisés pour remplacer les paramètres au niveau du compte.target_option(Type:CustomerLifecycleOptimizationMode) : contrôle le mode d'optimisation. La valeur par défaut estTARGET_ALL. Pour la définir surTARGET_SPECIFIC, votre compte doit figurer sur la liste d'autorisation appropriée.
def create_campaign_retention_config(
client: GoogleAdsClient,
customer_id: str,
goal_resource_name: str,
campaign_resource_name: str,
) -> None:
"""Sends an API request to add a new CampaignGoalConfig for Retention.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
goal_resource_name: the resource name of an existing Retention Goal.
campaign_resource_name: the resource name of an existing Campaign.
"""
operation: CampaignGoalConfigOperation = client.get_type(
"CampaignGoalConfigOperation"
)
goal_config = operation.create
goal_config.campaign = campaign_resource_name
goal_config.goal = goal_resource_name
goal_config.campaign_retention_settings.target_option = (
client.enums.CustomerLifecycleOptimizationModeEnum.TARGET_ALL
)
# Accounts on the allowlist can set TARGET_SPECIFIC instead:
# goal_config.campaign_retention_settings.target_option = (
# client.enums.CustomerLifecycleOptimizationModeEnum.TARGET_SPECIFIC
# )
campaign_goal_config_service = client.get_service(
"CampaignGoalConfigService"
)
campaign_goal_config_service.mutate_campaign_goal_configs(
customer_id=customer_id, operations=[operation]
)
Si elle n'est pas définie, la valeur par défaut de campaign_retention_settings.target_option est TARGET_ALL. L'option permettant de définir TARGET_SPECIFIC n'est disponible que pour les utilisateurs figurant sur la liste d'autorisation appropriée.
Paramètres de fidélisation pour la campagne
Pour remplacer les paramètres ou configurer un comportement spécifique aux membres du programme de fidélité au niveau de la
campagne pour les objectifs LOYALTY_RETENTION, configurez le
campaign_loyalty_retention_settings champ de type
CampaignLoyaltyRetentionGoalSettings sur
CampaignGoalConfig :
value_settings_override(Type:CustomerLifecycleOptimizationValueSettings) : ajustements de valeur personnalisés pour remplacer les paramètres de valeur de fidélisation au niveau du compte.enable_bid_adjustments_for_loyalty_members(type :bool) : indique si les ajustements d'enchères doivent être activés pour les membres du programme de fidélité dans cette campagne.show_targeted_loyalty_member_benefits_in_pla(type :bool) : indique si les avantages réservés aux abonnés du programme de fidélité doivent être affichés au format d'annonce pour une offre de produit dans les pays éligibles.
def create_campaign_loyalty_retention_config(
client: GoogleAdsClient,
customer_id: str,
goal_resource_name: str,
campaign_resource_name: str,
) -> None:
"""Sends an API request to add a new CampaignGoalConfig for Loyalty.
Args:
client: an initialized GoogleAdsClient instance.
customer_id: a client customer ID.
goal_resource_name: the resource name of an existing Loyalty Goal.
campaign_resource_name: the resource name of an existing Campaign.
"""
operation: CampaignGoalConfigOperation = client.get_type(
"CampaignGoalConfigOperation"
)
goal_config = operation.create
goal_config.campaign = campaign_resource_name
goal_config.goal = goal_resource_name
# Enable bid adjustments and targeted loyalty benefits in PLAs.
loyalty_settings = goal_config.campaign_loyalty_retention_settings
loyalty_settings.enable_bid_adjustments_for_loyalty_members = True
loyalty_settings.show_targeted_loyalty_member_benefits_in_pla = True
campaign_goal_config_service = client.get_service(
"CampaignGoalConfigService"
)
campaign_goal_config_service.mutate_campaign_goal_configs(
customer_id=customer_id, operations=[operation]
)
Validation et erreurs
Lors de la configuration des objectifs de cycle de vie client, vous pouvez rencontrer les contraintes et erreurs suivantes :
Erreurs de validation des objectifs
- Configuration d'objectif en double
- Si vous créez un objectif de cycle de vie en double alors qu'il en existe déjà un, vous obtenez une erreur
GoalError.NEW_CUSTOMER_ACQUISITION_GOAL_ALREADY_EXISTS(pour l'acquisition de nouveaux clients),GoalError.RETENTION_GOAL_ALREADY_EXISTS(pour les objectifs de rétention) ouGoalError.LOYALTY_RETENTION_GOAL_ALREADY_EXISTS(pour les objectifs de fidélisation). - Paramètres de valeur non valides
- Lorsque vous configurez les paramètres de valeur d'un objectif de cycle de vie, si la valeur vie élevée est
présente, la valeur standard doit l'être également
(
GoalError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT). De plus, la valeur vie élevée doit être supérieure à la valeur, si elle est définie (GoalError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE). - De même, pour les paramètres de valeur multiplicative, si le multiplicateur de la valeur vie élevée
est présent, le multiplicateur de valeur doit l'être également
(
GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT). De plus, le multiplicateur de la valeur vie élevée doit être strictement supérieur au multiplicateur de valeur (GoalError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER).
Erreurs de validation de la configuration d'objectif de la campagne
- Conflit de remplacement de valeur spécifique à la cible
- Pour les objectifs d'acquisition de nouveaux clients, si
target_optionest défini surTARGET_SPECIFIC(pour cibler uniquement les nouveaux clients), les remplacements de valeur au niveau de la campagne ne doivent pas être configurés (CampaignGoalConfigError.CAMPAIGN_OVERRIDE_VALUES_SET_FOR_NEW_CUSTOMER_ACQUISITION_TARGET_SPECIFIC_OPTION). Les ajustements d'enchères ne s'appliquent pas lorsque vous ciblez uniquement les nouveaux clients. - Remplacement de paramètres de valeur non valides
- Lorsque vous configurez des remplacements de paramètres de valeur de cycle de vie au niveau de la campagne, si la valeur vie élevée est présente, la valeur standard doit l'être également (
CampaignGoalConfigError.HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT). De plus, la valeur vie élevée doit être supérieure à la valeur, si elle est définie (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE). De même, pour les paramètres de valeur multiplicative, si le multiplicateur de la valeur vie élevée est présent, le multiplicateur de valeur doit l'être également (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_PRESENT_BUT_VALUE_MULTIPLIER_ABSENT). De plus, le multiplicateur de la valeur vie élevée doit être strictement supérieur au multiplicateur de valeur (CampaignGoalConfigError.HIGH_LIFETIME_VALUE_MULTIPLIER_LESS_THAN_OR_EQUAL_TO_VALUE_MULTIPLIER). - Compatibilité des types de campagnes avec la valeur vie élevée
- Les remplacements de la valeur vie élevée et les remplacements du multiplicateur de la valeur vie élevée ne doivent être définis que pour les types de campagnes compatibles (
CampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_NOT_SUPPORTED_FOR_CAMPAIGN_TYPEouCampaignGoalConfigError.CAMPAIGN_OVERRIDE_HIGH_LIFETIME_VALUE_MULTIPLIER_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE). - Objectifs non compatibles
- Une erreur est générée si une campagne tente d'appliquer simultanément des objectifs d'optimisation du cycle de vie client non compatibles (
CampaignGoalConfigError.CANNOT_USE_INCOMPATIBLE_CLO_GOALS). Le tableau suivant présente les combinaisons d'objectifs mutuellement exclusives qui déclenchent cette erreur :
| Type / mode d'objectif de cycle de vie client | Objectif / mode non compatible |
|---|---|
Fidélisation client ("Enchérir seulement pour les clients inactifs" /
TARGET_SPECIFIC)
|
Acquisition de nouveaux clients ("Enchérir seulement pour les nouveaux clients" /
TARGET_SPECIFIC, "Définir des enchères plus élevées pour les nouveaux clients" /
TARGET_ALL), prospection
|
Fidélisation client ("Définir des enchères plus élevées pour les clients inactifs" /
TARGET_ALL)
|
Acquisition de nouveaux clients ("Enchérir seulement pour les nouveaux clients" /
TARGET_SPECIFIC), prospection
|
| Fidélisation (multiplicateur de valeur) |
Acquisition de nouveaux clients ("Enchérir seulement pour les nouveaux clients" /
TARGET_SPECIFIC), fidélisation client ("Enchérir seulement pour les clients inactifs" / TARGET_SPECIFIC), prospection, bénéfices bruts
|
| Fidélisation (avantages dans les annonces pour une offre de produit) |
Acquisition de nouveaux clients ("Enchérir seulement pour les nouveaux clients" /
TARGET_SPECIFIC), prospection, bénéfices bruts
|
| Prospection |
Acquisition de nouveaux clients ("Enchérir seulement pour les nouveaux clients" /
TARGET_SPECIFIC, "Définir des enchères plus élevées pour les nouveaux clients" /
TARGET_ALL)
|
Récupérer les objectifs de cycle de vie
Comme pour les autres ressources de l'API Google Ads, utilisez les search ou searchStream
méthodes de GoogleAdsService pour récupérer les objectifs et les configurations de cycle de vie.
La requête suivante récupère les détails de chaque Goal configuré dans un compte de l'API Google Ads :
SELECT
goal.goal_id,
goal.goal_type,
goal.owner_customer,
goal.new_customer_acquisition_goal_settings.value_settings.additional_value,
goal.new_customer_acquisition_goal_settings.value_settings.additional_high_lifetime_value,
goal.retention_goal_settings.value_settings.additional_value,
goal.retention_goal_settings.value_settings.additional_high_lifetime_value,
goal.loyalty_retention_goal_settings.value_settings.value_multiplier
FROM goal
De même, la requête suivante récupère les détails de chaque CampaignGoalConfig :
SELECT
campaign_goal_config.campaign,
campaign_goal_config.goal,
campaign_goal_config.goal_type,
campaign_goal_config.campaign_new_customer_acquisition_settings.target_option,
campaign_goal_config.campaign_new_customer_acquisition_settings.value_settings_override.additional_value,
campaign_goal_config.campaign_new_customer_acquisition_settings.value_settings_override.additional_high_lifetime_value,
campaign_goal_config.campaign_retention_settings.target_option,
campaign_goal_config.campaign_retention_settings.value_settings_override.additional_value,
campaign_goal_config.campaign_loyalty_retention_settings.value_settings_override.value_multiplier,
campaign_goal_config.campaign_loyalty_retention_settings.enable_bid_adjustments_for_loyalty_members,
campaign_goal_config.campaign_loyalty_retention_settings.show_targeted_loyalty_member_benefits_in_pla
FROM campaign_goal_config