Pour offrir un écosystème publicitaire fiable et sûr aux utilisateurs, et pour respecter les nouvelles réglementations, Google demande désormais aux annonceurs de suivre un ou plusieurs programmes de validation.
Si vous devez suivre un programme de validation, une échéance peut être fixée pour le processus de validation. Si vous ne terminez pas la validation avant la date limite, votre compte risque d'être mis en veille.
Vous pouvez également effectuer une validation proactive sans y être obligé. IdentityVerificationService
propose des méthodes pour effectuer les opérations suivantes:
- Récupérer l'état de la procédure de validation d'un compte client, y compris les éventuelles échéances
- Lancer une procédure de validation
Extraire l'état de validation
Pour récupérer l'état de la procédure de validation de l'identité de l'annonceur pour un compte client, appelez la méthode GetIdentityVerification
:
Java
private IdentityVerification getIdentityVerification( long customerId, IdentityVerificationServiceClient identityVerificationServiceClient) { GetIdentityVerificationResponse response = identityVerificationServiceClient.getIdentityVerification(Long.toString(customerId)); if (response.getIdentityVerificationCount() == 0) { return null; } IdentityVerification identityVerification = response.getIdentityVerification(0); String deadline = identityVerification .getIdentityVerificationRequirement() .getVerificationCompletionDeadlineTime(); IdentityVerificationProgress progress = identityVerification.getVerificationProgress(); System.out.printf( "Account %d has a verification completion deadline of '%s' and status '%s' for advertiser" + " identity verification.%n", customerId, deadline, progress.getProgramStatus()); return identityVerification; }
C#
private static IdentityVerification GetIdentityVerification( GoogleAdsClient client, long customerId) { IdentityVerificationServiceClient identityVerificationService = client.GetService(Services.V18.IdentityVerificationService); try { GetIdentityVerificationResponse response = identityVerificationService.GetIdentityVerification( new GetIdentityVerificationRequest() { CustomerId = customerId.ToString() } ); if (response.IdentityVerification.Count == 0) { return null; } IdentityVerification identityVerification = response.IdentityVerification[0]; string deadline = identityVerification.IdentityVerificationRequirement.VerificationCompletionDeadlineTime; IdentityVerificationProgress identityVerificationProgress = identityVerification.VerificationProgress; Console.WriteLine($"Account {customerId} has a verification completion " + $"deadline of {deadline} and status " + $"{identityVerificationProgress.ProgramStatus} for advertiser identity " + "verification."); return identityVerification; } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
private static function getIdentityVerification( int $customerId, IdentityVerificationServiceClient $identityVerificationServiceClient ) { // Gets an identity verification response. $response = $identityVerificationServiceClient->getIdentityVerification( GetIdentityVerificationRequest::build($customerId) ); if (empty($response->getIdentityVerification())) { return null; } // Prints some details about the retrieved identity verification. /** @var IdentityVerification $identityVerification */ $identityVerification = $response->getIdentityVerification()->getIterator()->current(); $deadline = $identityVerification->getIdentityVerificationRequirement() ->getVerificationCompletionDeadlineTime(); $progress = $identityVerification->getVerificationProgress(); printf( "Account %d has a verification completion deadline of '%s' and status '%s' for" . " advertiser identity verification.%s", $customerId, $deadline, IdentityVerificationProgramStatus::name($progress->getProgramStatus()), PHP_EOL ); return $identityVerification; }
Python
def get_identity_verification(client, customer_id): """Retrieves the status of the advertiser identity verification process. Args: client: An initialized GoogleAdsClient instance. customer_id: The client customer ID str. Returns: either an IdentityVerification instance, or None """ service = client.get_service("IdentityVerificationService") response = service.get_identity_verification(customer_id=customer_id) # Check if the response contains any indentity verifications. If not, then # None will be returned. if response.identity_verification: identity_verification = response.identity_verification[0] deadline = ( identity_verification.identity_verification_requirement.verification_completion_deadline_time ) progress = identity_verification.verification_progress.program_status print( f"Account {customer_id} has a verification completion deadline " f"of {deadline} and status {progress} for advertiser identity " "verification." ) return identity_verification
Ruby
def get_identity_verification(client, customer_id) response = client.service.identity_verification.get_identity_verification( customer_id: customer_id ) return nil if response.nil? || response.identity_verification.empty? identity_verification = response.identity_verification.first deadline = identity_verification. identity_verification_requirement. verification_completion_deadline_time progress = identity_verification.verification_progress puts "Account #{customer_id} has a verification completion deadline " \ "of #{deadline} and status #{progress.program_status} for advertiser " \ "identity verification." identity_verification end
Perl
sub get_identity_verification { my ($api_client, $customer_id) = @_; my $response = $api_client->IdentityVerificationService()->get({ customerId => $customer_id }); if (!defined $response->{identityVerification}) { printf "Account %s does not require advertiser identity verification.", $customer_id; return; } my $identity_verification = $response->{identityVerification}[0]; my $deadline = $identity_verification->{identityVerificationRequirement} {verificationCompletionDeadlineTime}; my $identity_verification_progress = $identity_verification->{verificationProgress}; printf "Account %s has a verification completion deadline of %s and status " . "%s for advertiser identity verification.", $customer_id, $deadline, $identity_verification_progress->{programStatus}; return $identity_verification; }
Si le compte client est inscrit au programme obligatoire de validation de l'identité des annonceurs, le service renvoie une réponse non vide contenant une liste d'objets IdentityVerification
. Une réponse vide indique que le compte client n'a pas besoin de passer la procédure de validation de l'identité de l'annonceur.
L'API Google Ads n'est compatible qu'avec le programme ADVERTISER_IDENTITY_VERIFICATION
. Il s'agit donc du seul élément de la liste.
Un objet IdentityVerification
comporte les propriétés suivantes:
Un
IdentityVerificationRequirement
décrivant les délais de début et de fin de la procédure de validationUn
IdentityVerificationProgress
décrivant l'état actuel du processus de validation: cela peut également inclure l'URL d'action permettant à l'utilisateur de terminer le processus de validation.
Lancer la validation
Si un compte client est inscrit au programme obligatoire de validation de l'identité des annonceurs, GetIdentityVerification
a renvoyé une réponse non vide avec un délai pour terminer la procédure de validation. Vous pouvez alors démarrer une session de validation en appelant StartIdentityVerification
:
Java
private void startIdentityVerification( long customerId, IdentityVerificationServiceClient identityVerificationServiceClient) { // Sends a request to start the identity verification process. identityVerificationServiceClient.startIdentityVerification( Long.toString(customerId), IdentityVerificationProgram.ADVERTISER_IDENTITY_VERIFICATION); }
C#
private static void StartIdentityVerification(GoogleAdsClient client, long customerId) { IdentityVerificationServiceClient identityVerificationService = client.GetService(Services.V18.IdentityVerificationService); StartIdentityVerificationRequest request = new StartIdentityVerificationRequest() { CustomerId = customerId.ToString(), VerificationProgram = IdentityVerificationProgram.AdvertiserIdentityVerification }; try { identityVerificationService.StartIdentityVerification(request); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
private static function startIdentityVerification( int $customerId, IdentityVerificationServiceClient $identityVerificationServiceClient ): void { // Sends a request to start the identity verification process. $identityVerificationServiceClient->startIdentityVerification( StartIdentityVerificationRequest::build( $customerId, IdentityVerificationProgram::ADVERTISER_IDENTITY_VERIFICATION ) ); }
Python
def start_identity_verification(client, customer_id): """Starts the identity verification process. Args: client: An initialized GoogleAdsClient instance. customer_id: The client customer ID str. """ service = client.get_service("IdentityVerificationService") # Sends a request to start the identity verification process. service.start_identity_verification( customer_id=customer_id, verification_program=client.enums.IdentityVerificationProgramEnum.ADVERTISER_IDENTITY_VERIFICATION, )
Ruby
def start_identity_verification(client, customer_id) client.service.identity_verification.start_identity_verification( customer_id: customer_id, verification_program: :ADVERTISER_IDENTITY_VERIFICATION, ) end
Perl
sub start_identity_verification { my ($api_client, $customer_id) = @_; my $request = Google::Ads::GoogleAds::V18::Services::IdentityVerificationService::StartIdentityVerificationRequest ->new({ customerId => $customer_id, verificationProgram => ADVERTISER_IDENTITY_VERIFICATION }); $api_client->AdvertiserIdentityVerificationService() ->start_identity_verification($request); }
Cette opération ne réussira que si aucune autre session de validation n'est en cours. Une fois que vous avez lancé une session de validation, les appels suivants à GetIdentityVerification
renvoient l'URL d'action permettant à l'utilisateur de terminer la procédure de validation et l'heure d'expiration de l'URL d'action.
Une fois le délai d'expiration écoulé, vous pouvez appeler à nouveau StartIdentityVerification
pour démarrer une nouvelle session de validation.