מוודאים שהנכסים עומדים בדרישות המינימליות: הנכסים בקמפיינים ליצירת ביקוש צריכים לעמוד בסטנדרטים גבוהים מאוד של איכות, כי הם יוצגו בפלטפורמות ויזואליות במיוחד שמתמקדות בבידור, כמו Discover ו-YouTube.
אלה השלבים ליצירת קמפיין ליצירת ביקוש:
- יוצרים תקציב.
- יוצרים קמפיין ליצירת ביקוש עם אסטרטגיות בידינג מתאימות.
- יוצרים קבוצת מודעות ללא סוג.
- יוצרים קהלים.
- יוצרים נכסים דיגיטליים ומודעות ליצירת ביקוש.
יצירת תקציב
יוצרים תקציב. חשוב לזכור שקמפיין ליצירת ביקוש לא יכול להשתמש בתקציב משותף. מומלץ להגדיר תקציב יומי גבוה פי 15 לפחות מהצעת המחיר הצפויה לפי יעד העלות להמרה. מידע נוסף
Java
private static String addCampaignBudget(GoogleAdsClient googleAdsClient, long customerId) { CampaignBudget budget = CampaignBudget.newBuilder() .setName("Interplanetary Cruise Budget #" + getPrintableDateTime()) .setDeliveryMethod(BudgetDeliveryMethod.STANDARD) .setAmountMicros(500_000) .build(); CampaignBudgetOperation op = CampaignBudgetOperation.newBuilder().setCreate(budget).build(); try (CampaignBudgetServiceClient campaignBudgetServiceClient = googleAdsClient.getLatestVersion().createCampaignBudgetServiceClient()) { MutateCampaignBudgetsResponse response = campaignBudgetServiceClient.mutateCampaignBudgets( Long.toString(customerId), ImmutableList.of(op)); String budgetResourceName = response.getResults(0).getResourceName(); System.out.printf("Added budget: %s%n", budgetResourceName); return budgetResourceName; } }
C#
private static string CreateBudget(GoogleAdsClient client, long customerId) { // Get the BudgetService. CampaignBudgetServiceClient budgetService = client.GetService( Services.V18.CampaignBudgetService); // Create the campaign budget. CampaignBudget budget = new CampaignBudget() { Name = "Interplanetary Cruise Budget #" + ExampleUtilities.GetRandomString(), DeliveryMethod = BudgetDeliveryMethod.Standard, AmountMicros = 500000 }; // Create the operation. CampaignBudgetOperation budgetOperation = new CampaignBudgetOperation() { Create = budget }; // Create the campaign budget. MutateCampaignBudgetsResponse response = budgetService.MutateCampaignBudgets( customerId.ToString(), new CampaignBudgetOperation[] { budgetOperation }); return response.Results[0].ResourceName; }
PHP
private static function addCampaignBudget(GoogleAdsClient $googleAdsClient, int $customerId) { // Creates a campaign budget. $budget = new CampaignBudget([ 'name' => 'Interplanetary Cruise Budget #' . Helper::getPrintableDatetime(), 'delivery_method' => BudgetDeliveryMethod::STANDARD, 'amount_micros' => 500000 ]); // Creates a campaign budget operation. $campaignBudgetOperation = new CampaignBudgetOperation(); $campaignBudgetOperation->setCreate($budget); // Issues a mutate request. $campaignBudgetServiceClient = $googleAdsClient->getCampaignBudgetServiceClient(); $response = $campaignBudgetServiceClient->mutateCampaignBudgets( MutateCampaignBudgetsRequest::build($customerId, [$campaignBudgetOperation]) ); /** @var CampaignBudget $addedBudget */ $addedBudget = $response->getResults()[0]; printf("Added budget named '%s'%s", $addedBudget->getResourceName(), PHP_EOL); return $addedBudget->getResourceName(); }
Python
# Create a budget, which can be shared by multiple campaigns. campaign_budget_operation = client.get_type("CampaignBudgetOperation") campaign_budget = campaign_budget_operation.create campaign_budget.name = f"Interplanetary Budget {uuid.uuid4()}" campaign_budget.delivery_method = ( client.enums.BudgetDeliveryMethodEnum.STANDARD ) campaign_budget.amount_micros = 500000 # Add budget. try: campaign_budget_response = ( campaign_budget_service.mutate_campaign_budgets( customer_id=customer_id, operations=[campaign_budget_operation] ) ) except GoogleAdsException as ex: handle_googleads_exception(ex)
Ruby
# Create a budget, which can be shared by multiple campaigns. campaign_budget = client.resource.campaign_budget do |cb| cb.name = "Interplanetary Budget #{(Time.new.to_f * 1000).to_i}" cb.delivery_method = :STANDARD cb.amount_micros = 500000 end operation = client.operation.create_resource.campaign_budget(campaign_budget) # Add budget. return_budget = client.service.campaign_budget.mutate_campaign_budgets( customer_id: customer_id, operations: [operation], )
Perl
# Create a campaign budget, which can be shared by multiple campaigns. my $campaign_budget = Google::Ads::GoogleAds::V18::Resources::CampaignBudget->new({ name => "Interplanetary budget #" . uniqid(), deliveryMethod => STANDARD, amountMicros => 500000 }); # Create a campaign budget operation. my $campaign_budget_operation = Google::Ads::GoogleAds::V18::Services::CampaignBudgetService::CampaignBudgetOperation ->new({create => $campaign_budget}); # Add the campaign budget. my $campaign_budgets_response = $api_client->CampaignBudgetService()->mutate({ customerId => $customer_id, operations => [$campaign_budget_operation]});
יצירה של קמפיין ושיטת בידינג
אחרי שתיצרו את התקציב, תוכלו להמשיך ליצור קמפיין.
החל מגרסה 17 של Google Ads API, הערך של AdvertisingChannelType
בקמפיינים ליצירת ביקוש הוא DEMAND_GEN
. אין להגדיר AdvertisingChannelSubType
.
מגדירים יעדי המרה לקמפיין.
שיטות הבידינג הנתמכות הן 'מקסימום קליקים', 'יעד עלות להמרה', 'מקסימום המרות' ו'יעד החזר על הוצאות פרסום'.
יצירת קבוצת מודעות
יוצרים קבוצת מודעות ללא סוג ומצרפים אותה לקמפיין Discovery.
יצירת קהלים
יצירה וקישור של קהלים באמצעות AdGroupCriterion
.
יצירת נכסים ומודעות
יש שלושה סוגים של מודעות שזמינים בקמפיינים ליצירת ביקוש:
קודם כול, יוצרים נכסים לסוגים האלה של מודעות. במדריך למפרטים ושיטות מומלצות לגבי נכסים בקמפיינים ליצירת ביקוש מפורטת רשימת הנכסים שזמינים לכל סוג של מודעה בקמפיינים ליצירת ביקוש. במדריך מפורטות הנחיות לגבי סוגי הנכסים הנדרשים ומספר הנכסים המומלץ. מומלץ גם להעריך את ביצועי הנכסים כדי לשפר את הקריאייטיב: בקטע דיווח מוסבר איך לאחזר מדדי ביצועים של קמפיינים ליצירת ביקוש.
ל-DemandGenCarouselAdInfo
יש נכס נוסף ומיוחד שנקרא AdDemandGenCarouselCardAsset
.
אחרי שיוצרים את הנכסים והמודעות, מוסיפים את המודעות לקבוצת המודעות.