Yandex Direct
Yandex Direct exposes its statistics through a set of report types, from account-level totals to search queries, plus a custom report you group yourself. Renta exports any of them to your data warehouse, along with campaign and ad group metadata: impressions, clicks, cost, conversions, revenue, and video metrics.
Authentication
Renta uses OAuth to authenticate with Yandex. You will be redirected to Yandex to grant Renta limited access to your Yandex Direct account.
Your credentials are encrypted in transit and at rest, and never stored in Renta's application database. You stay in control and can revoke access from your Yandex account settings at any time.
Connect Yandex Direct source
Follow these steps to add Yandex Direct as a source in Renta using OAuth authentication.
- Navigate to the Connections > Catalog section in the left sidebar.
- Open the Advertising category and click the Yandex Direct card.

Click Log in to your Yandex Direct account. You will be redirected to Yandex to grant access.

Yandex shows the sign-in screen with the list of permissions Renta requests, including use of the Yandex Direct API. Choose the account that has access to your advertising campaigns and confirm. After that you are redirected back to Renta.

Finish the setup:
- Source name.
Specify a name for this data source. This is used exclusively in the Renta interface. - Access granted.
Verify that the account is connected successfully.
Click Save to finish.
If your Yandex authorization later changes (for example, after a password change), click Re-authorize on this source. The connection refreshes in place and every pipeline built on it keeps running.

The new source appears in the Sources list with the Active status. You can now use it in pipelines.

Create a pipeline
Once the source is connected, create a pipeline to sync your Yandex Direct data into your destination.
Create a Yandex Direct pipeline
Link your Yandex Direct source to a destination and configure the pipeline.
In the left sidebar, click New pipeline. On the Source step, select Yandex Direct under Already connected and click Next step.

Choose the Yandex Direct connection you created earlier and click Next step.

On the Destination step, select your destination (for example, Google BigQuery) and click Next step.

Choose the destination connection you want to load data into and click Next step.

Pipeline configuration
On the final step, choose which Yandex Direct data to export and how Renta loads it.
Report configuration
Choose the report type first. It defines the grouping of the statistics and the set of fields available in the Parameters picker.

| Report type | Description |
|---|---|
| Account performance report | Statistics for the whole advertiser account, without a campaign or ad breakdown. |
| Campaign performance report | Statistics grouped by campaign. |
| Ad Group performance report | Statistics grouped by ad group. |
| Ad performance report | Statistics grouped by ad. |
| Criteria performance report | Statistics grouped by display condition: ad group, criterion identifier, and criterion type. |
| Custom report | Statistics with your own grouping. This is the only report type that exposes UTM tags and the ad URL. |
| Reach and frequency performance report | Statistics for media campaigns, including video metrics such as views, quartiles, and completion rates. Campaigns of other types are ignored. |
| Search query performance report | Statistics grouped by ad group and search query, with the keyword that matched the query. |
| Campaign objects data | Attributes of the campaign object: name, type, status, currency, daily budget, start and end dates, manager, and agency. |
| Ad group objects data | Attributes of the ad group object: name, campaign, type, subtype, status, serving status, and tracking parameters. |
An Ad accounts dropdown appears above the report type when the connected account is an agency account: it lists the client logins the agency manages, and the pipeline exports data for the login you pick. For a regular advertiser account there are no client logins to choose from, so Renta hides the dropdown and exports data for the connected account itself.
Parameters
Select the fields to include in the destination table. Your dataset schema is defined by the parameters you choose here.

Every row in the picker shows the display name with the API name below it: Campaign Id for CampaignId. The API name becomes the column name in the destination table, and values that Yandex Direct reports as empty arrive there as NULL.
Check the fields to export, use the search to find a field by name, or click Select All. The Selected tab shows everything you picked with a counter, and the Selected Parameters list below the picker lets you remove a field.
The statistics reports also offer calendar fields, so you can group the data without writing date functions in the warehouse. Week-based fields come in two variants: weeks starting on Sunday and ISO weeks starting on Monday.
| Field | Column | Description |
|---|---|---|
| Year | year | Year of the date. |
| Year & month | yearmonth | Year and month combined. |
| Quarter | quarter | Quarter of the year. |
| Month | month | Month of the year. |
| Year of week (Sun-Sat) | yearofweek | Year the week belongs to, weeks starting on Sunday. |
| Year of week (Mon-Sun) | yearofweekiso | Year the week belongs to, ISO weeks. |
| Year & week (Sun-Sat) | yearweek | Year and week number, weeks starting on Sunday. |
| Year & week (Mon-Sun) | yearweekiso | Year and week number, ISO weeks. |
| Week (Sun-Sat) | week | Week number, weeks starting on Sunday. |
| Week (Mon-Sun) | weekiso | ISO week number. |
| Day of week (Sun-Sat) | dayOfWeekName | Name of the day, weeks starting on Sunday. |
| Day of week | dayOfWeekNameIso | Name of the day, ISO weeks. |
| Day of month | dayOfMonth | Day of the month. |
| Date | date | The date of the statistics row. |
| Today | date_today | Today's date. |
The Custom report type also has utm_source, utm_medium, utm_campaign, utm_content, utm_term, and Ad URL. Renta fills these columns from the link of the ad, so they carry the tags you set in Yandex Direct. They work for text campaigns, dynamic text campaigns, and CPM banner campaigns; rows from campaigns of other types are exported with their statistics, but their UTM columns stay empty.
Include the Date parameter in the report. With it, the destination table is partitioned by the date column and Renta loads data incrementally. It also enables the Overwrite Period setting, which appears below the date range. Without it, Renta reloads the whole date range on every run.
The Criteria, Criteria Id, and Criteria Type fields cannot be combined with the UTM fields or the ad URL. Beyond that, the Reports API does not support every field combination, so Renta validates the selected parameters with a test request when you create the pipeline. If the combination is not supported, you get a configuration error: remove the conflicting fields and try again.
Dynamic parameters in ad URLs
Yandex Direct lets you put dynamic parameters into an ad link, so that the link passes the campaign, the keyword, or the device on to your analytics. Renta substitutes the values of the row, so the exported columns hold readable data instead of placeholders.
An ad tagged with utm_campaign={campaign_id} gives you the campaign identifier in the utm_campaign column.
| Dynamic parameter | Value in the exported row |
|---|---|
{ad_id}, {banner_id} | Ad identifier. |
{gbid} | Ad group identifier. |
{campaign_id} | Campaign identifier. |
{campaign_name}, {campaign_name_lat} | Campaign name. |
{campaign_type} | Campaign type. |
{keyword} | The keyword, cleaned of match operators. Empty for retargeting impressions. |
{phrase_id}, {adtarget_id} | Identifier of the display condition. |
{adtarget_name} | The display condition itself. |
{retargeting_id} | Identifier of the display condition, filled in only for audience targets and keywords. |
{coef_goal_context_id} | Identifier of the retargeting bid adjustment. |
{match_type} | How the search query matched the keyword. |
{addphrases} | yes when the impression came from a related keyword, no otherwise. |
{device_type} | Device type in lower case, such as desktop, mobile, or tablet. |
{position} | Average click position, rounded to a whole number. |
{position_type} | premium for positions 1 to 4, none for position 0, and other in the remaining cases. |
{source} | The placement the ad was shown on. Impressions on Yandex search get none. |
{source_type} | Network type in lower case, such as search or context. |
{region_name} | Name of the region of presence. |
{region_id} | Identifier of the region of presence. |
A parameter that is not on this list stays in the exported value exactly as it appears in the link.
VAT and discount
Choose how Yandex Direct calculates the cost metrics before it returns them to Renta. Both settings apply to the whole report.

| Setting | Default | Description |
|---|---|---|
| Include VAT | YES | Whether the cost metrics include VAT. This is the setting that changes Cost, Avg Cpc, Cost Per Conversion, and the other monetary fields. |
| Include discount | NO | A legacy setting. Yandex Direct discontinued the agency discount on September 1, 2015 and marks the underlying API parameter as deprecated, so it no longer affects the figures. |
Cost metrics arrive in the advertiser's currency with two decimal places.
Changing Include VAT changes the cost figures Yandex returns, but not the data already in your table. Historical rows keep the values they were loaded with until Renta reloads them.
Table name and date range
Name the pipeline and set the historical period to load. A wide range takes noticeably longer on the first run than a few days.

- Integration name.
The name of the pipeline. It is used exclusively in the Renta interface. - Table name.
The destination table name. You can keep the auto-generated name or enter your own. - Date start.
The first date of the extraction period. - Date end.
The last date of the extraction period. You can pick a fixed date or a relative option such as Today.
Overwrite period
The overwrite period defines how many recent days Renta reloads on every run. The setting appears once the Date parameter is selected.

On each run, Renta re-fetches the data starting from the date of the last successful run minus the overwrite period. The affected days are deleted from the destination table and inserted again, while older data stays untouched. The options range from Without overwrite data to Overwrite all data; the default is Last 1 day.
Yandex Direct keeps adjusting statistics after the fact, mainly when it filters out invalid clicks and returns their cost to the campaign balance. Yandex states that the data normally stabilizes within three days, and that older figures are corrected in unusual cases. Set the overwrite period to at least Last 3 days, or Last 7 days for a safety margin.
Schedule
Choose how often the pipeline runs.

| Schedule type | Description |
|---|---|
| Manual | The pipeline runs only when triggered manually through the interface or via API. |
| Daily | The pipeline runs once a day at the specified update time. |
| Interval | The pipeline runs at specified time intervals. |
| Cron Expression | The pipeline runs on a schedule defined by a cron expression. |
For Daily schedules, set the Update time, the exact time each run starts, then click Create pipeline.

Renta also supports API triggers and integration with external orchestrators such as Apache Airflow, Dagster, and Prefect. See the full scheduling documentation for details.
The new pipeline appears in the Pipelines section under the ETL tab, where you can track its runs, progress, and the destination table name.

Limitations
The Reports API sets boundaries that apply to every pipeline built on this source.
| Limitation | Description |
|---|---|
| Historical depth | Statistics cover the previous three years from the current month. An earlier Date start returns nothing for the part of the range that falls outside that window. |
| Search query history | The search query field is limited to the last 180 days, so the Search query performance report cannot be backfilled deeper than that. |
| Campaign Id in media reports | The Reach and frequency performance report requires the campaign identifier, so keep Campaign Id among the selected parameters. |
| Single attribution | Every report type attributes an impression or click to exactly one targeting criterion, region, and audience attribute. |
| No history in object reports | Campaign objects data and Ad group objects data return the current state, so an object deleted in Yandex Direct disappears from the table on the next run. |
Sync strategy
The synchronization strategy depends on whether the report includes the Date parameter.
| Strategy | Supported report types | Description |
|---|---|---|
| Incremental | Account performance report, Campaign performance report, Ad Group performance report, Ad performance report, Criteria performance report, Custom report, Reach and frequency performance report, Search query performance report (with the Date parameter selected) | Each row carries its date, and the destination table is partitioned by the date column. On every run Renta requests the window from the last successful run minus the overwrite period to the end of the date range: the affected daily partitions are deleted and inserted again, and older partitions stay untouched. |
| Full reload | Account performance report, Campaign performance report, Ad Group performance report, Ad performance report, Criteria performance report, Custom report, Reach and frequency performance report, Search query performance report (without the Date parameter) | The table has no date column to partition by, so Renta requests the report for the whole configured date range and replaces the dataset on every run. |
| Full reload | Campaign objects data, Ad group objects data | These reports return the current state of campaigns and ad groups and have no date field at all, so Renta reloads the entire dataset on every run. |
Changing the selected parameters updates the table schema, so the next run after the change reloads the entire date range.
Ready to get started?
Build your data pipeline today or get a personalized demo. Start free!
Need help?
Get expert support to ensure your project succeeds. We're here to help!
Feature requests?
Help shape our product! Share your ideas for new features and integrations.