Calltouch
Calltouch is a call-tracking service: it links incoming calls and website requests to the ad session that brought the visitor. Its API exposes two datasets.
- The call journal keeps one row per tracked call: the outcome (duration, status, target and unique flags), the numbers involved, and session attribution down to the keyword and UTM tags.
- The request log keeps one row per lead, whether it came from a website form or a callback widget, with the same attribution plus nested order and client details.
Renta exports these datasets to your data warehouse as two report types: Call report and Lead report.
Authentication
Renta authenticates with three values from your Calltouch account: Site ID, Counter ID, and API key. Calltouch shows all three on one screen: open your project and go to Integrations > API and Webhooks.
When you save the connection, Renta checks the credentials with a test request to the Calltouch API, so a typo in the Site ID or API key returns an error at the Save step instead of failing on the first pipeline run.
Connect Calltouch source
- Navigate to the Connections > Catalog section in the left sidebar.
- Open the Call Tracking category and click the Calltouch card.

Fill in the three fields with the values from the API and Webhooks tab of your Calltouch project.
- Site ID.
The identifier of your Calltouch personal account. - Counter ID.
The identifier of the Calltouch counter installed on your website. - API key.
The token for the Calltouch API.

In the Source name field, specify a name for this data source. It is used exclusively in the Renta interface.
Click Save. Renta checks the credentials against the Calltouch API before creating the connection.

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

Create a Calltouch pipeline
Once the Calltouch source is connected, link it to a destination and configure the pipeline.
In the left sidebar, click New pipeline. On the Source step, select Calltouch under Already connected and click Next step.

Choose the Calltouch connection you created earlier and click Next step. The card shows the Site ID of the connected account.

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 the report, pick its fields, and set how Renta loads them.
Report type
Select which Calltouch dataset the pipeline exports. One pipeline loads one report type.

| Report type | Description |
|---|---|
| Call report | The call journal. One row per tracked call: outcome, numbers, statuses, and session attribution (source, keyword, UTM tags). |
| Lead report | The request log. One row per lead: request attributes, traffic attribution, and nested order and client details. |
Parameters
Select the Calltouch fields to include in the destination table.

| Name | API name | Description |
|---|---|---|
Call ID int | callId | Unique identifier of the call in Calltouch |
Call Phase text | callphase | Call phase at the time of API request: callconnected - call is currently in progress, calldisconnected - call ended |
Attribution int | attribution | Call attribution model. Possible values: 0 - last interaction; 1 - last non-direct (default) |
Caller Number text | callerNumber | Caller number |
Redirect Number text | redirectNumber | Redirect number. If there are multiple redirect numbers or if the redirect is international, the value will be "undefined" |
Date date | date | Call date |
Manager text | manager | Name of the manager assigned to this call via API method for assigning managers to leads |
Waiting Connect int | waitingConnect | Waiting time for the answer |
Duration int | duration | Duration of the conversation |
Phone Number text | phoneNumber | Number that was called |
Subpool Name text | subPoolName | Name of the subpool associated with the advertising number. If the call is not associated with a subpool, the value will be null |
Successful bool | successful | Call status. Possible values: true (successful call); false (unsuccessful call) |
Status Details text | statusDetails | Call status details |
Unique Call bool | uniqueCall | Unique call. Possible values: true (unique call); false (repeat call) |
Target Call bool | targetCall | Target call. Possible values: true (target call); false (non-target call) |
Unique Target Call bool | uniqTargetCall | Unique target call. Possible values: true (unique target call); false (not unique target call) |
Callback Call bool | callbackCall | Callback call. Possible values: true (callback from widget or custom form); false (direct call to tracked number) |
City text | city | City where the client who made the call is located, determined by the client's IP address |
Source text | source | Source |
Medium text | medium | Type of traffic |
Keyword text | keyword | Keyword |
URL text | url | URL where the visitor landed on the site |
Call URL text | callUrl | URL of the page where the visitor was when the call was made |
Referrer text | ref | Referrer URL |
Hostname text | hostname | Tracked domain or subdomain of the resource |
UTM Source text | utmSource | UTM tag value utm_source |
UTM Medium text | utmMedium | UTM tag value utm_medium |
UTM Campaign text | utmCampaign | UTM tag value utm_campaign |
UTM Content text | utmContent | UTM tag value utm_content |
UTM Term text | utmTerm | UTM tag value utm_term |
Session ID int | sessionId | Unique session identifier in Calltouch |
CT Caller ID text | ctCallerId | Unique client identifier in Calltouch, determined by the client's phone number |
Client ID text | clientId | Unique Google Analytics 4 client identifier |
Yandex Client ID text | yaClientId | Unique Yandex.Metrica client identifier |
SIP Call ID text | sipCallId | Unique session identifier with Calltouch PBX, can be useful for integration with your PBX |
User Agent text | userAgent | Device information from which the site was accessed |
IP Address text | ip | Visitor's IP address |
Site ID int | siteId | Site ID |
Orders text | orders | Orders array |
| Name | API name | Description |
|---|---|---|
dateLeadCreated date | dateLeadCreated | Date and time of request creation in Unix Timestamp format in milliseconds. |
DateUnix int | dateUnix | Date and time of request creation in Unix Timestamp format in milliseconds. |
Request Type text | requestType | Type of request |
Date String text | dateStr | Date and time of request creation in dd/mm/yyyy hh:mm:ss format. |
Manager text | manager | Full name of the manager assigned to the request using the API method for assigning managers to leads. If the request has no manager, the value is null. |
Subject text | subject | Name of the form on your website that you sent in the request. |
Unique Target Request bool | uniqTargetRequest | Unique target request. Can take the following values: true (unique target request); false (non-unique target request). |
Unique Request bool | uniqueRequest | Unique request. Can take the following values: true (unique request); false (repeat request). |
Yandex Direct text | yandexDirect | Information about the Yandex.Direct advertising campaign if the source of the call or request is a Yandex.Direct advertising campaign. |
Google AdWords text | googleAdWords | Information about the Google AdWords advertising campaign if the source of the call or request is a Google AdWords advertising campaign. |
Request Number text | requestNumber | Unique identifier of the request on your website that you sent in the request. If you did not send this parameter, the response will contain the unique identifier of the request in Calltouch. |
Request ID int | requestId | Unique identifier of the request in Calltouch. |
Session ID text | sessionId | Unique identifier of the session in Calltouch. |
Keywords text | keywords | Keywords associated with the session. |
City text | city | City of the visitor (determined by IP address). |
IP Address text | ip | IP address of the visitor. |
Source text | source | Source of the traffic. |
Medium text | medium | Medium of the traffic. |
Referrer text | ref | Referrer URL from which the visitor came to your site. |
Entry URL text | url | Entry URL on the site (may differ from the page where the call was made). |
UTM Source text | utmSource | UTM source value. |
UTM Medium text | utmMedium | UTM medium value. |
UTM Term text | utmTerm | UTM term value. |
UTM Content text | utmContent | UTM content value. |
UTM Campaign text | utmCampaign | UTM campaign value. |
GUA Client ID text | guaClientId | Google Client ID (present if integration with Google Analytics is set up). |
Attribution int | attribution | Current attribution model according to which the source of the request is determined. |
Yandex Client ID text | yaClientId | Yandex Client ID (present if integration with Yandex.Metrica is set up). |
CT Global ID text | ctGlobalId | Global identifier of the Calltouch visitor, common for sites where the Calltouch script is installed. |
Device text | device | Type of device used by the visitor. |
Operating System text | os | Operating system of the visitor's device. |
Browser Name text | browserName | Name of the browser used by the visitor. |
Browser User Agent text | browser | User agent string of the browser. |
Site ID int | siteId | Site ID. |
Target Request bool | targetRequest | Target request. Can take the following values: true (target request); false (non-target request). |
Status text | status | Deal status. |
Request URL text | requestUrl | URL of the page from which the request was sent. |
CT Client ID int | ctClientId | Calltouch visitor identifier. It represents the value of our _ct cookie. If the value is absent in the call (e.g., the lead has no session, such as a call to a static number), the value will be null. |
DCM text | dcm | Data on sending the request with DoubleClick Campaign Manager. |
CT Global ID text | ctGlobalId | Global identifier of the Calltouch visitor, common for sites where the Calltouch script is installed. |
Widget Info text | widgetInfo | Data on custom fields of the request from the widget. Exported only for requests through widgets if the input parameter withWidgetInfo=true was passed. |
Order [Object] structure | order | Array of orders with additional information. |
Client [Object] structure | client | Array of clients with additional information. |
Check the fields you need, or grab the full set with Select All.
Order [Object] and Client [Object] load as nested records: order amounts and statuses, and the client's name with up to ten phone numbers and contacts.
Include the Date parameter in the Call report. With it, each row carries the call date, the destination table is partitioned by the date column, and Renta loads data incrementally. Without it, Renta reloads the whole date range on every run.
Table name
Name the pipeline and the destination table.

- 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 range
Set the historical period to load.

- Date start.
The first date of the extraction period. - Date end.
The last date of the extraction period. Leave it as Today to keep collecting new data on every run.
Calltouch allocates a daily API quota that depends on your plan. Renta requests the report one day at a time, so the first load of a long history takes longer and consumes more of that quota than regular scheduled runs.
Overwrite period
The overwrite period defines how many recent days Renta reloads on every run.

On each run, Renta re-fetches the report 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 default is Last 3 days.
Calltouch records keep changing after the day they were created: a manager gets assigned to a call, order details and deal statuses are updated. The overwrite window is how those changes reach the destination table.
The Overwrite Period control appears only for the Call report with the Date parameter selected.
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.

Sync strategy
The synchronization strategy depends on the report type and whether the Date parameter is selected.
| Strategy | Supported report types | Description |
|---|---|---|
| Incremental | Call report (with the Date parameter selected) | Each row carries the call date, and the destination table is partitioned by the date column. On every run Renta reloads the window from the last successful run minus the overwrite period to the end of the date range: those daily partitions are deleted and inserted again, and older partitions stay untouched. |
| Full reload | Call report (without the Date parameter), Lead report | The destination table has no date column to partition by, so Renta requests the whole configured date range and replaces the 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.