هدف‌گذاری را تعیین کنید

ارائه تبلیغات Demand Gen با استفاده از هدف‌گذاری اختصاص داده شده به شریک اصلی، تبلیغ‌کننده، ردیف آگهی و گروه‌های تبلیغاتی کنترل می‌شود.

از هدف‌گذاری اختصاص داده شده به یک آیتم و گروه تبلیغاتی Demand Gen برای رسیدن به مشتریان ایده‌آل خود و بهبود عملکرد کمپین استفاده کنید.

تصمیم بگیرید که هدف‌گیری خود را به کجا اختصاص دهید

هدف‌گیری را می‌توان هم به آیتم‌های خط تولید تقاضا و هم به گروه‌های تبلیغاتی اختصاص داد.

اگر می‌خواهید هدف‌گیری روی تمام تبلیغاتی که تحت یک ردیف آیتم‌های Demand Gen ارائه می‌شوند اعمال شود، آن را به یک ردیف آیتم اختصاص دهید. در غیر این صورت، هدف‌گیری را به گروه‌های تبلیغاتی مجزا اختصاص دهید.

هدف‌گذاری پشتیبانی بر اساس نوع منبع تولید تقاضا

هر نوع منبع از انواع خاصی از هدف‌گیری پشتیبانی می‌کند.

در زیر لیستی از انواع هدف‌گیری پشتیبانی‌شده توسط موارد خط تولید تقاضا آمده است:

  • TARGETING_TYPE_CARRIER_AND_ISP
  • TARGETING_TYPE_DAY_AND_TIME
  • TARGETING_TYPE_DEVICE_MAKE_MODEL
  • TARGETING_TYPE_DEVICE_TYPE
  • TARGETING_TYPE_GEO_REGION
  • TARGETING_TYPE_KEYWORD
  • TARGETING_TYPE_LANGUAGE
  • TARGETING_TYPE_NEGATIVE_KEYWORD_LIST
  • TARGETING_TYPE_OPERATING_SYSTEM
  • TARGETING_TYPE_POI

در زیر لیستی از انواع هدف‌گیری پشتیبانی‌شده توسط گروه‌های تبلیغاتی Demand Gen آمده است:

  • TARGETING_TYPE_AGE_RANGE
  • TARGETING_TYPE_APP
  • TARGETING_TYPE_APP_CATEGORY
  • TARGETING_TYPE_AUDIENCE_GROUP
  • TARGETING_TYPE_CATEGORY
  • TARGETING_TYPE_GENDER
  • TARGETING_TYPE_GEO_REGION
  • TARGETING_TYPE_HOUSEHOLD_INCOME
  • TARGETING_TYPE_KEYWORD
  • TARGETING_TYPE_LANGUAGE
  • TARGETING_TYPE_PARENTAL_STATUS
  • TARGETING_TYPE_URL
  • TARGETING_TYPE_YOUTUBE_CHANNEL
  • TARGETING_TYPE_YOUTUBE_VIDEO

پشتیبانی از TARGETING_TYPE_GEO_REGION ، TARGETING_TYPE_POI و TARGETING_TYPE_LANGUAGE به تنظیم فیلد demandGenSettings.geoLanguageTargetingEnabled در منبع LineItem والد بستگی دارد. اگر این فیلد برابر با true باشد، هدف‌گیری موقعیت مکانی و زبانی فقط می‌تواند به آیتم خطی والد اختصاص داده شود. اگر این فیلد برابر با false باشد، این هدف‌گیری فقط می‌تواند به گروه‌های تبلیغاتی مجزا اختصاص داده شود.

گزینه‌های هدف‌گیری موجود را پیدا کنید

هدف‌گذاری بر اساس نوع آن مشخص می‌شود. گزینه‌های هدف‌گذاری را با استفاده از یکی از روش‌های زیر شناسایی کنید:

بازیابی هدف‌گذاری‌های موجود

هدف‌گیری موجود، نوع هدف‌گیری قابل اضافه شدن به یک آیتم یا گروه تبلیغاتی را محدود می‌کند.

فقط آیتم‌های خطی و گروه‌های تبلیغاتی Demand Gen هدف‌گذاری ارثی TARGETING_TYPE_KEYWORD را نشان می‌دهند. این بدان معناست که شما باید هدف‌گذاری را برای تبلیغ‌کننده، آیتم خطی و گروه تبلیغاتی بازیابی کنید تا بتوانید حسابداری کاملی از تمام هدف‌گذاری‌هایی که بر ارائه تبلیغات تأثیر می‌گذارند، داشته باشید.

با استفاده از درخواست‌های لیست انبوه، هدف‌گیری موجود را در بین انواع هدف‌گیری بازیابی کنید.

بازیابی هدف‌گیری شرکا و تبلیغ‌کنندگان فعلی

در اینجا نحوه‌ی دستیابی به هدف‌گیری موجود برای یک تبلیغ‌کننده، از جمله هدف‌گیری شریک ارثی، آورده شده است:

پایتون

# Provide the ID of the advertiser.
advertiser_id = advertiser-id

# Create the page token variable.
next_page_token = ""

while True:
  # Execute the list request.
  response = (
      service.advertisers()
      .listAssignedTargetingOptions(
          advertiserId=advertiser_id,
          pageToken=next_page_token,
      )
      .execute()
  )

  # If response is not empty, display the retrieved assigned targeting
  # options.
  if response:
    for assigned_targeting_option in response.get(
        "assignedTargetingOptions", []
    ):
      ato_name = assigned_targeting_option.get(
          "name", None
      )
      if ato_name:
        print(f"Assigned Targeting Option {ato_name}.")
  else:
    print(f"No targeting is currently assigned to {advertiser_id}.")
    sys.exit(1)
  # Update the next page token.
  # Break out of loop if there is no next page.
  if "nextPageToken" in response:
    next_page_token = response["nextPageToken"]
  else:
    break

بازیابی هدف‌گذاری آیتم‌های خطی موجود

در اینجا نحوه اختصاص مستقیم هدف‌گذاری موجود به یک آیتم خطی آورده شده است:

پایتون

# Provide the ID of the parent advertiser.
advertiser_id = advertiser-id

# Provide the ID of the Demand Gen line item.
line_item_id = line-item-id

# Create the page token variable.
next_page_token = ""

while True:
  # Execute the list request.
  response = (
      service.advertisers()
      .lineItems()
      .bulkListAssignedTargetingOptions(
          advertiserId=advertiser_id,
          lineItemIds=[line_item_id],
          pageToken=next_page_token,
      )
      .execute()
  )

  # If response is not empty, display the retrieved assigned targeting
  # options line items.
  if response:
    for assigned_option in response.get(
        "lineItemAssignedTargetingOptions", []
    ):
      ato_name = assigned_option.get("assignedTargetingOption", {}).get(
          "name", None
      )
      if ato_name:
        print(f"Assigned Targeting Option {ato_name} found.")
  else:
    print(f"No targeting is currently assigned to {line_item_id}.")
    sys.exit(1)
  # Update the next page token.
  # Break out of loop if there is no next page.
  if "nextPageToken" in response:
    next_page_token = response["nextPageToken"]
  else:
    break

بازیابی هدف‌گذاری گروه‌های تبلیغاتی موجود

در اینجا نحوه اختصاص مستقیم هدف‌گیری موجود به یک گروه تبلیغاتی آورده شده است:

پایتون

# Provide the ID of the parent advertiser.
advertiser_id = advertiser-id

# Provide the ID of the ad group.
ad_group_id = ad-group-id

# Create the page token variable.
next_page_token = ""

while True:
  # Execute the list request.
  response = (
      service.advertisers()
      .adGroups()
      .bulkListAssignedTargetingOptions(
          advertiserId=advertiser_id,
          adGroupIds=[ad_group_id],
          pageToken=next_page_token,
      )
      .execute()
  )

  # If response is not empty, display the retrieved assigned targeting
  # options line items.
  if response:
    for assigned_option in response.get(
        "adGroupAssignedTargetingOptions", []
    ):
      ato_name = assigned_option.get("assignedTargetingOption", {}).get(
          "name", None
      )
      if ato_name:
        print(f"Assigned Targeting Option {ato_name} found.")
  else:
    print(f"No targeting is currently assigned to {ad_group_id}.")
    sys.exit(1)
  # Update the next page token.
  # Break out of loop if there is no next page.
  if "nextPageToken" in response:
    next_page_token = response["nextPageToken"]
  else:
    break

اختصاص هدف‌گذاری به منابع

شما باید درخواست‌های جداگانه‌ای برای به‌روزرسانی هدف‌گذاری آیتم‌های خطی و گروه‌های تبلیغاتی ارسال کنید.

هدف‌گذاری برای آیتم‌های خطی را اختصاص دهید

در اینجا نحوه اضافه کردن منطق هدف‌گیری زیر به یک آیتم خطی آورده شده است:

  • فقط تبلیغات روی کامپیوترها نمایش داده می‌شود.
  • برای موجودی که در کنار محتوایی که با کلمه کلیدی "بستنی" مطابقت دارد، پیشنهاد قیمت ندهید.

پایتون

# Provide the ID of the parent advertiser.
advertiser_id = advertiser-id

# Provide the ID of the line item.
line_item_id = line-item-id

# Build the "ice cream" negative keyword assigned targeting option.
keyword_assigned_targeting_option = {
    "keywordDetails": {"keyword": "ice cream", "negative": True}
}

# Build the delete request for device type targeting to remove all device
# types to only target computers.
device_type_delete_request = {
    "targetingType": "TARGETING_TYPE_DEVICE_TYPE",
    "assignedTargetingOptionIds": [
        "DEVICE_TYPE_SMART_PHONE",
        "DEVICE_TYPE_CONNECTED_TV",
        "DEVICE_TYPE_TABLET"
    ],
}

# Create a bulk edit request.
bulk_edit_targeting_request = {
    "lineItemIds": [line_item_id],
    "createRequests": [
        {
            "targetingType": "TARGETING_TYPE_KEYWORD",
            "assignedTargetingOptions": [
                keyword_assigned_targeting_option
            ],
        }
    ],
    "deleteRequests": [
        device_type_delete_request
    ]
}

# Build and execute request.
response = (
    service.advertisers()
    .lineItems()
    .bulkEditAssignedTargetingOptions(
        advertiserId=advertiser_id, body=bulk_edit_targeting_request
    )
    .execute()
)

# Print the request results.
if (
    "updatedLineItemIds" in response
    and len(response["updatedLineItemIds"]) != 0
):
  print(
      f'Targeting configurations for {response["updatedLineItemIds"][0]} '
      "were successfully updated."
  )
elif (
    "failedLineItemIds" in response
    and len(response["failedLineItemIds"]) != 0
):
  print(
      f'Targeting configurations for {response["failedLineItemIds"][0]} '
      "failed to update."
  )
  if "errors" in response and len(response["errors"]) != 0:
    print("The failed updates were caused by the following errors:")
    for error in response["errors"]:
      print(f'Code {error["code"]}: {error["message"]}')
else:
  print("No successful or failed updates were reported.")

هدف‌گیری گروه‌های تبلیغاتی را تعیین کنید

در اینجا نحوه اضافه کردن منطق هدف‌گیری زیر به یک گروه تبلیغاتی آورده شده است:

  • فقط به والدین خدمت کنید.
  • علیه کانال یوتیوب ارائه شده سرویس ندهید.

پایتون

# Provide the ID of the parent advertiser.
advertiser_id = advertiser-id

# Provide the ID of the ad group.
ad_group_id = ad-group-id

# Provide the YouTube channel ID to negatively target.
yt_channel_id = youtube-channel-id

# Build the assigned targeting option to negatively target the given YouTube
# channel.
youtube_channel_assigned_targeting_options = [
    {
        "youtubeChannelDetails": {
            "channelId": yt_channel_id,
            "negative": True
        }
    },
]

# Build the assigned targeting options to target only parents.
parental_status_assigned_targeting_options = [
    {
        "parentalStatusDetails": {
            "parentalStatus": "PARENTAL_STATUS_PARENT"
        }
    },
]

# Create a bulk edit request.
bulk_edit_targeting_request = {
    "adGroupIds": [ad_group_id],
    "createRequests": [
        {
            "targetingType": "TARGETING_TYPE_YOUTUBE_CHANNEL",
            "assignedTargetingOptions": (
                youtube_channel_assigned_targeting_options
            )
        },
        {
            "targetingType": "TARGETING_TYPE_PARENTAL_STATUS",
            "assignedTargetingOptions": (
                parental_status_assigned_targeting_options
            ),
        }
    ]
}

# Build and execute request.
response = (
    service.advertisers()
    .adGroups()
    .bulkEditAssignedTargetingOptions(
        advertiserId=advertiser_id, body=bulk_edit_targeting_request
    )
    .execute()
)

# Print the request results.
if (
    "updatedAdGroupIds" in response
    and len(response["updatedAdGroupIds"]) != 0
):
  print(
      f'Targeting configurations for {response["updatedAdGroupIds"][0]} '
      "were successfully updated."
  )
elif (
    "failedAdGroupIds" in response
    and len(response["failedAdGroupIds"]) != 0
):
  print(
      f'Targeting configurations for {response["failedAdGroupIds"][0]} '
      "failed to update."
  )
  if "errors" in response and len(response["errors"]) != 0:
    print("The failed updates were caused by the following errors:")
    for error in response["errors"]:
      print(f'Code {error["code"]}: {error["message"]}')
else:
  print("No successful or failed updates were reported.")