> ## 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.

# Kampagne aktualisieren

> Starten oder pausieren Sie eine Google Ads-Kampagne, benennen Sie sie um oder ändern Sie ihr Tagesbudget oder Enddatum.

Starten oder pausieren Sie eine Google Ads-Kampagne, die Sie über Ayrshare erstellt haben, benennen Sie sie um oder ändern Sie ihr Tagesbudget oder Enddatum.

<ul>
  <li>Senden Sie mindestens ein Feld. Alle Änderungen in einer Anfrage werden gemeinsam oder gar nicht übernommen.</li>
  <li>`type`, `accountId` und `euPoliticalAdvertising` können Sie nach dem Erstellen der Kampagne nicht mehr ändern.</li>
  <li>Ein `Idempotency-Key` ist nicht nötig: Wenn Sie dieselbe Änderung erneut senden, werden dieselben Werte gesetzt.</li>
  <li>Die Antwort gibt den `campaignStatus` der Kampagne zurück. Verwenden Sie [Kampagne abrufen](https://www.ayrshare.com/docs/apis/ads/google/get-campaign.md), um die anderen Felder zu lesen.</li>
</ul>

## Header-Parameter

**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`

## Pfad-Parameter

**id** `string` *required*

Die `campaignId`, die beim Erstellen der Kampagne zurückgegeben wurde.

## Body-Parameter

**status** `string`

`active` oder `paused`. Eine Anfrage, die nur `status: "paused"` sendet, wird nicht blockiert, wenn Ayrshare Anzeigen bei Google pausiert hat.

**name** `string`

Der neue Kampagnenname, 1 bis 255 Zeichen, ohne Zeilenumbrüche.

**budget** `object`

`{ "amount": number }`: der neue Betrag, der pro Tag ausgegeben werden soll, in der Währung des Werbekontos, mit höchstens zwei Nachkommastellen. Bei einer Kampagne, deren Budget Sie in Google Ads mit anderen Kampagnen teilen, wird `code: 101` zurückgegeben: Ändern Sie das gemeinsame Budget in Google Ads.

**schedule** `object`

`{ "end": string }`: das neue Enddatum, als ISO-Datum (`2026-11-30`) oder als Datum mit Uhrzeit. Google plant ganze Tage in der Zeitzone des Werbekontos, daher endet die Kampagne an diesem Tag um 23:59:59. Es kann derselbe Tag wie der Start sein, aber kein früherer.

## Fehler

| Code | Wann |
| - | - |
| `101` | Es wurde kein Feld gesendet, ein Feld ist ungültig oder das Budget wird mit anderen Kampagnen geteilt. `details` gibt an, was zutrifft. |
| `205` | Google hat die Änderung abgelehnt. `details` gibt an, was zu ändern ist. |
| `400` | Die Kampagne gehört nicht Ihnen, existiert nicht oder wurde in Google Ads entfernt. Auch wenn der verknüpfte Google-Nutzer keinen Zugriff auf das Werbekonto hat oder der Zugriff auf Google Ads widerrufen wurde. |
| `370` | Google konnte die Anfrage nicht abschließen. Versuchen Sie es erneut. |

```bash cURL theme={"system"}
curl \
-H "Authorization: Bearer API_KEY" \
-H "Content-Type: application/json" \
-X PUT https://api.ayrshare.com/api/ads/google/campaigns/21534567890 \
-d '{"status": "active", "budget": { "amount": 30 }}'
```

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

fetch("https://api.ayrshare.com/api/ads/google/campaigns/21534567890", {
  method: "PUT",
  headers: {
    "Authorization": `Bearer ${API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({"status": "active", "budget": { "amount": 30 }})
})
  .then((res) => res.json())
  .then((json) => console.log(json))
  .catch(console.error);
```

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

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

payload = {"status": "active", "budget": { "amount": 30 }}

r = requests.put("https://api.ayrshare.com/api/ads/google/campaigns/21534567890", headers=headers, json=payload)

print(r.json())
```

```php PHP theme={"system"}
<?php
$payload = <<<'JSON'
{"status": "active", "budget": { "amount": 30 }}
JSON;

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://api.ayrshare.com/api/ads/google/campaigns/21534567890",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer API_KEY",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$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.Text;
using System.Threading.Tasks;

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

        var payload = """
            {"status": "active", "budget": { "amount": 30 }}
            """;

        var response = await client.PutAsync(
            "https://api.ayrshare.com/api/ads/google/campaigns/21534567890",
            new StringContent(payload, Encoding.UTF8, "application/json"));
        var content = await response.Content.ReadAsStringAsync();

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

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

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

func main() {
    payload := `{"status": "active", "budget": { "amount": 30 }}`

    req, _ := http.NewRequest("PUT", "https://api.ayrshare.com/api/ads/google/campaigns/21534567890", strings.NewReader(payload))
    req.Header.Add("Authorization", "Bearer API_KEY")
    req.Header.Add("Content-Type", "application/json")

    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 UpdateCampaign {
    public static void main(String[] args) throws Exception {
        String payload = """
            {"status": "active", "budget": { "amount": 30 }}
            """;

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.ayrshare.com/api/ads/google/campaigns/21534567890"))
            .header("Authorization", "Bearer API_KEY")
            .header("Content-Type", "application/json")
            .PUT(HttpRequest.BodyPublishers.ofString(payload))
            .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/campaigns/21534567890')

request = Net::HTTP::Put.new(uri)
request['Authorization'] = 'Bearer API_KEY'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
  {"status": "active", "budget": { "amount": 30 }}
JSON

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",
  "campaignId": "21534567890",
  "campaignStatus": "active"
}
```

```json 400: Shared Budget theme={"system"}
{
  "action": "request",
  "status": "error",
  "code": 101,
  "message": "Missing or incorrect parameters. Please verify with the docs. https://www.ayrshare.com/docs/apis",
  "details": "This campaign uses a budget shared with other campaigns in Google Ads. Change the shared budget in Google Ads."
}
```


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