> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Insights

> Obtén métricas diarias en tiempo real de Google Ads para tus campañas, grupos de anuncios o anuncios, con clics, coste, conversiones y valor de conversión.

Obtén el rendimiento de Google Ads en tiempo real, una fila por día, para las campañas, los grupos de anuncios o los anuncios que creaste a través de Ayrshare.

<ul>
  <li>Las cifras se leen de Google en el momento de la llamada, no de una copia nocturna.</li>
  <li>Todos los importes están en la moneda de la cuenta publicitaria, que se devuelve en `currency` en cada fila.</li>
  <li>Google omite los días sin actividad, por lo que un rango puede devolver menos filas que días.</li>
  <li>Google ajusta el coste y las conversiones de un día durante unos días después de que termina, por lo que los días recientes pueden cambiar entre lecturas.</li>
  <li>Para una campaña Performance Max, usa `level=campaign` con el ID de la campaña. Una campaña Performance Max no tiene anuncios propios, por lo que `level=ad` no devuelve filas.</li>
</ul>

## Parámetros del encabezado

**Authorization** `string` *required*

[API Key](https://www.ayrshare.com/docs/apis/overview.md#authorization) of the Primary Profile.

Format: `Authorization: Bearer API_KEY`
**Profile-Key** `string`

[Profile Key](https://www.ayrshare.com/docs/apis/overview.md#profile-key-format) of a User Profile.

Format: `Profile-Key: PROFILE_KEY`

## Parámetros de consulta

**level** `string` *required*

Sobre qué informa cada fila: `campaign` (el `campaignId` de Create), `adSet` (el `adGroupId` de Create) o `ad` (el `adId` de Create).

**ids** `string` *required*

IDs de campaña, de grupo de anuncios o de anuncio separados por comas, hasta 50. Todos deben estar en una misma cuenta publicitaria.

**accountId** `string`

El ID de cliente de Google Ads de 10 dígitos, con o sin guiones (`123-456-7890`).

Los informes de anuncios y de grupos de anuncios leen la cuenta publicitaria que indicas aquí. Sin ella, un informe de anuncios busca en todas las cuentas publicitarias a las que llega tu vínculo de Google Ads, hasta 25, y un informe de grupos de anuncios solo funciona cuando tu vínculo llega a una sola cuenta publicitaria. Indica la cuenta cuando tu vínculo llega a más de 25 cuentas publicitarias, o a más de una en un informe de grupos de anuncios. De lo contrario, la solicitud responde `code: 101`.

**metrics** `string`

Métricas que se devolverán, separadas por comas. Omítelo para obtenerlas todas. Consulta [Métricas](#metrics).

**startDate** `string` (default: hace 30 días)

Primer día, en formato `YYYY-MM-DD`. Google conserva las cifras diarias durante 37 meses; un `startDate` anterior responde `code: 101`.

**endDate** `string` (default: hoy)

Último día, en formato `YYYY-MM-DD`.

## Métricas

| Métrica | Tipo | Significado |
| - | - | - |
| `spend` | number | Importe gastado |
| `impressions` | number | Veces que se mostró el anuncio |
| `clicks` | number | Clics |
| `cpm` | number o `null` | Costo por cada 1,000 impresiones. `null` en un día sin impresiones |
| `cpc` | number o `null` | Costo por clic. `null` en un día sin clics |
| `ctr` | number o `null` | Tasa de clics (CTR), en porcentaje. `null` en un día sin impresiones |
| `actions` | number | Las conversiones de Google, que pueden ser fraccionarias |
| `conversionValue` | number | El valor de esas conversiones |

`actions` y `conversionValue` se quedan en `0` hasta que el seguimiento de conversiones esté configurado en tu cuenta de Google Ads. `reach` no está disponible, porque Google no informa el alcance único en la Búsqueda, y `breakdowns` no está disponible en Google. Solicitar cualquiera de los dos responde `code: 101`.

## Paginación

Todas las filas se devuelven en una sola respuesta, por lo que `nextCursor` siempre es `null`.

## Errores

| Código | Cuándo |
| - | - |
| `101` | Falta un parámetro o es incorrecto, una métrica o un desglose no es compatible, `startDate` es de hace más de 37 meses, se envían más de 50 IDs, los IDs pertenecen a más de una cuenta publicitaria, o se necesita `accountId` y falta |
| `400` | Una campaña, un grupo de anuncios o un anuncio no es tuyo, o `accountId` no es la cuenta publicitaria que Ayrshare tiene registrada para los IDs que enviaste |
| `370` | Google no pudo devolver los insights. Inténtalo de nuevo |

```bash cURL theme={"system"}
curl \
-H "Authorization: Bearer API_KEY" \
-X GET "https://api.ayrshare.com/api/ads/google/insights?level=campaign&ids=21534567890&startDate=2026-10-01&endDate=2026-10-07"
```

```javascript JavaScript theme={"system"}
const API_KEY = "API_KEY";

fetch("https://api.ayrshare.com/api/ads/google/insights?level=campaign&ids=21534567890&startDate=2026-10-01&endDate=2026-10-07", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${API_KEY}`
  }
})
  .then((res) => res.json())
  .then((json) => console.log(json))
  .catch(console.error);
```

```python Python theme={"system"}
import requests

headers = {
    "Authorization": "Bearer API_KEY",
}

r = requests.get("https://api.ayrshare.com/api/ads/google/insights?level=campaign&ids=21534567890&startDate=2026-10-01&endDate=2026-10-07", headers=headers)

print(r.json())
```

```php PHP theme={"system"}
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://api.ayrshare.com/api/ads/google/insights?level=campaign&ids=21534567890&startDate=2026-10-01&endDate=2026-10-07",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer API_KEY"
    ]
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error: " . $err;
} else {
    echo $response;
}
?>
```

```csharp C# theme={"system"}
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        var client = new HttpClient();
        client.DefaultRequestHeaders.Add("Authorization", "Bearer API_KEY");

        var response = await client.GetAsync("https://api.ayrshare.com/api/ads/google/insights?level=campaign&ids=21534567890&startDate=2026-10-01&endDate=2026-10-07");
        var content = await response.Content.ReadAsStringAsync();

        Console.WriteLine(content);
    }
}
```

```go Go theme={"system"}
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://api.ayrshare.com/api/ads/google/insights?level=campaign&ids=21534567890&startDate=2026-10-01&endDate=2026-10-07", nil)
    req.Header.Add("Authorization", "Bearer API_KEY")

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
```

```java Java theme={"system"}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class GetAdInsights {
    public static void main(String[] args) throws Exception {
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.ayrshare.com/api/ads/google/insights?level=campaign&ids=21534567890&startDate=2026-10-01&endDate=2026-10-07"))
            .header("Authorization", "Bearer API_KEY")
            .GET()
            .build();

        HttpResponse<String> response = HttpClient.newHttpClient()
            .send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
```

```ruby Ruby theme={"system"}
require 'net/http'
require 'uri'

uri = URI.parse('https://api.ayrshare.com/api/ads/google/insights?level=campaign&ids=21534567890&startDate=2026-10-01&endDate=2026-10-07')

request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer API_KEY'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end

puts response.body
```

```json 200: Success theme={"system"}
{
  "status": "success",
  "platform": "google",
  "level": "campaign",
  "startDate": "2026-10-01",
  "endDate": "2026-10-07",
  "insights": [
    {
      "date": "2026-10-01",
      "level": "campaign",
      "id": "21534567890",
      "currency": "USD",
      "spend": 12.48,
      "impressions": 1830,
      "clicks": 41,
      "cpm": 6.82,
      "cpc": 0.3,
      "ctr": 2.2404,
      "actions": 3.5,
      "conversionValue": 140
    }
  ],
  "count": 1,
  "nextCursor": null
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.