---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.com/dev/direct/doc/en/best-practice/launch-campaign.md
  - https://yandex.com/dev/direct/doc/ru/best-practice/launch-campaign.md
  - href: en/best-practice/launch-campaign.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: en/dg/best-practice/launch-campaign.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/direct/doc/en/llms.txt

# Managing ad campaigns

## Creation and review {#create-campaign}

1. Create campaigns: the [Campaigns.add](https://yandex.com/dev/direct/doc/campaigns/add.html) method.

   For information about campaign types, see the section [Campaign type](https://yandex.com/dev/direct/doc/en/objects/campaign.md#type).

1. Create ad groups: the [AdGroups.add](https://yandex.com/dev/direct/doc/adgroups/add.html) method.

   The group type must match the campaign type.

1. For a group of Text & Image ads or app promotion ads, add keywords and set up autotargeting using the [Keywords.add](https://yandex.com/dev/direct/doc/keywords/add.html) method.

   You can set bids and priorities immediately when creating keywords, or later using the [KeywordBids.set](https://yandex.com/dev/direct/doc/keywordbids/set.html) or [KeywordBids.setAuto](https://yandex.com/dev/direct/doc/keywordbids/setAuto.html) method.

1. For a group of dynamic ads, add dynamic ad targets: the [DynamicTextAdTargets.add](https://yandex.com/dev/direct/doc/dynamictextadtargets/add.html) method.

1. Create ads: use the [Ads.add](https://yandex.com/dev/direct/doc/ads/add.html) method.

   You can enhance your ad with add-ons. See [Add-ons to ads](#harness).

1. Submit ads for review: the [Ads.moderate](https://yandex.com/dev/direct/doc/ads/moderate.html) method.

Once your ads are approved, you need to top up your shared account. Your ads will start running after your account is funded, but no earlier than the start date of the campaign.

## Stopping and restarting {#suspend-resume}

- Use the [Campaigns.suspend](https://yandex.com/dev/direct/doc/campaigns/suspend.html) method to stop serving ads at the campaign level.

   You can re-enable impressions of previously stopped campaigns using the [Campaigns.resume](https://yandex.com/dev/direct/doc/campaigns/resume.html).

- Use the [Ads.suspend](https://yandex.com/dev/direct/doc/ads/suspend.html) method to stop serving individual ads.

   Use the [Ads.resume](https://yandex.com/dev/direct/doc/ads/resume.html) method to resume displays for previously suspended ads.

- Use the [Keywords.suspend](https://yandex.com/dev/direct/doc/keywords/suspend.html) method to stop displays for individual keywords.

   Use the [Keywords.resume](https://yandex.com/dev/direct/doc/keywords/resume.html) method to resume displays of previously suspended keywords.

- Use the [DynamicTextAdTargets.suspend](https://yandex.com/dev/direct/doc/dynamictextadtargets/suspend.html) method to stop displays for individual dynamic ad targets.

   Use the [DynamicTextAdTargets.resume](https://yandex.com/dev/direct/doc/dynamictextadtargets/resume.html) method to resume displays for previously suspended dynamic ad targets.

## Ad extensions {#harness}

Depending on the type of ad, you can add a vСard, business profile ID, image, set of sitelinks, callouts, video extension, or Turbo page.

You can include add-ons when creating an ad, or assign the add-ons later after creating the ad.

#|
|| **Ad extension** | **Creating** | **Assigned to ad** | **Unassigned from ad** ||

|| Business profile | You can add a business profile or verify your rights to it in the [Yandex Business Directory](https://yandex.ru/sprav/). | Once an ad extension is created, you can specify its ID in the [Ads.add](https://yandex.com/dev/direct/doc/ads/add.html) and [Ads.update](https://yandex.com/dev/direct/doc/ads/update.html) methods.  | To unassign an extension, the [Ads.update](https://yandex.com/dev/direct/doc/ads/update.html) method should pass the `nil (null)` value instead of the ID. ||

|| [Image](https://yandex.com/dev/direct/doc/en/objects/adimage.md)  | The [AdImages.add](https://yandex.com/dev/direct/doc/adimages/add.html) method, or an [Upload](https://yandex.com/dev/direct/doc/dg-v4/live/AdImage_Upload.html) method's operation in the Live 4 version of the API | ^ | ^ ||

|| [Set of sitelinks](https://yandex.com/dev/direct/doc/objects/sitelink.html) | [Sitelinks.add](https://yandex.com/dev/direct/doc/sitelinks/add.html) method | ^ | ^ ||

|| [Turbo page](https://yandex.com/support/direct/en/efficiency/turbo-pages.html) | You can create a Turbo page in the Turbo Page Builder. | ^ | ^ ||

|| [A callout](https://yandex.com/dev/direct/doc/en/objects/adextension.md) | [AdExtensions.add](https://yandex.com/dev/direct/doc/adextensions/add.html) method | Once an ad extension is created, you can specify its ID in the [Ads.add](https://yandex.com/dev/direct/doc/ads/add.html) and [Ads.update](https://yandex.com/dev/direct/doc/ads/update.html) methods. |
You can unassign all the callouts from an ad at once, or selectively.

To unassign all the callouts, the [Ads.update](https://yandex.com/dev/direct/doc/ads/update.html) method should pass the `nil (null)` value in the `CalloutSetting` parameter.

To unassign a particular callout, specify the callout ID in the `CalloutSetting` parameter and set the action type to `REMOVE`. ||

|| [Video extension](https://yandex.com/support/direct/en/features/video-extension.html) | Create a video extension in the Ad Builder.

To synchronously upload videos by their URL links, use the Add operation from the AdVideos method. | After creating the video extension in Ad Builder, specify its ID in the [Ads.add](https://yandex.com/dev/direct/doc/ads/add.html) and [Ads.update](https://yandex.com/dev/direct/doc/ads/update.html) methods, in the `CreativeId` parameter in the `VideoExtension` structure. |
To unassign the video extension, pass `nil (null)` in the `CreativeId` parameter of the `VideoExtension` structure in the . method.
||
|#

{% note info %}

When an add-on is unassigned from an ad, it is not deleted. To delete an add-on that isn't assigned to any ad, use the `delete` method for the appropriate service.

{% endnote %}
