# Piano Analytics Integration

<Aside type="caution" icon="setting" title="Hilfe vom Entwicklungsteam benötigt">
 Sie benötigen Hilfe von Ihrem Entwicklungsteam, um die Integration einzurichten. Bitte teilen Sie diese Anleitung mit ihnen.
</Aside>

[Piano Analytics](https://piano.io/product/analytics/) ist ein Werkzeug, das Unternehmen hilft zu verstehen, wie Menschen mit ihren Websites und Apps interagieren. Es sammelt Daten über das Nutzerverhalten und liefert Einblicke durch Berichte und Visualisierungen. Diese Informationen helfen Unternehmen, bessere Entscheidungen zur Verbesserung ihrer digitalen Produkte und Marketingmaßnahmen zu treffen.

Die Integration von [Piano Analytics](https://piano.io/product/analytics/) und Pushwoosh ermöglicht detaillierte Einblicke in das Nutzerverhalten, um präzise Segmente zu erstellen und hochgradig zielgerichtete Push-Benachrichtigungen, E-Mails und In-App-Nachrichten zur richtigen Zeit an die richtigen Nutzer zu senden.

## Integrationsübersicht

### Integrationstyp

*   **Ziel**: Daten werden von Piano Analytics an Pushwoosh gesendet.
*   **Quelle**: Daten werden von Pushwoosh an Piano Analytics gesendet.

### Voraussetzungen

Bezahlte Konten sowohl bei Pushwoosh als auch bei Piano Analytics

### Glossar (Zuordnung von Entitätsnamen, falls sie sich unterscheiden)

Bei der Integration von Pushwoosh und Piano Analytics können bestimmte Entitätsnamen zwischen den beiden Plattformen variieren. Hier sind die Zuordnungen zwischen Pushwoosh und Piano Analytics:

| Pushwoosh | Piano Analytics |
| --- | --- |
| UserID/hwid | visitorID |
| PostEvent.EventName | PianoEvent.Name |
| PostEvent.UserID | PianoEvent.PushwooshID |
| PostEvent.CampaignID | PianoEvent.SrcMedium |
| PostEvent.PlatformID | PianoEvent.DeviceType |

### Synchronisierte Entitäten

**Quelle**

*   Events
*   Push-Statistiken
*   Tags (als Event-Attribute)

**Ziel**

*   Segmente

### Anwendungsfälle

**Einheitliche Analysen**

Kombinieren Sie Pushwoosh-Engagement-Daten mit Piano Analytics für umfassende Nutzereinblicke. Dies ermöglicht Ihnen eine ganzheitliche Sicht auf das Nutzerverhalten und die Interaktionen über mehrere Touchpoints hinweg.

**Segmentierung**

Erstellen Sie zielgerichtete Nutzersegmente in Pushwoosh basierend auf Piano Analytics-Daten. Nutzen Sie diese erweiterte Segmentierung, um personalisierte und effektive Marketingkampagnen durchzuführen.

**Leistungsüberwachung**

Verfolgen Sie die Kampagneneffektivität und die Nutzerinteraktion über verschiedene Plattformen hinweg.

### Wie funktioniert die Integration?

##### Flow-Übersicht

1.  **Setup**: Konfigurieren Sie die Integrationseinstellungen sowohl in den Pushwoosh- als auch in den Piano Analytics-Konten.
2.  **Event-Mapping**: Ordnen Sie Pushwoosh-Events den Piano-Events zu (z. B. `PostEvent.EventName` zu `PianoEvent.Name`).
3.  **Datenübertragung**: Pushwoosh sendet Events (Post Events und Tracking Log Events) an Piano Analytics.
4.  **Segmentimport**: Piano Analytics sendet Segmentdaten zur Zielgruppensegmentierung an Pushwoosh.

##### Technischer Flow

1.  **Post Events**
    *   Pushwoosh sendet Event-Daten an Piano Analytics.
    *   Attribute werden wie folgt zugeordnet:
        *   UserID (Pushwoosh) > PushwooshID (Piano)
        *   CampaignID (Pushwoosh) > SrcMedium (Piano)
        *   PlatformID (Pushwoosh) > DeviceType (Piano)
2.  **Tracking Log Events**:
    *   Pushwoosh sendet Tracking-Daten (z. B. Push gesendet, Push zugestellt) an Piano Analytics.
    *   Diese Daten reichern Piano Analytics mit Zustellungs- und Engagement-Metriken an.
3.  **Piano VisitorID Integration**:
    *   Optional können Sie die Piano VisitorID mit Pushwoosh für einheitliche Analysen über SDKs hinweg integrieren.

## Einrichtung der Integration

Um die Integration einzurichten, gehen Sie in Ihrem Pushwoosh-Konto zu **Settings > 3rd Party Integrations** und suchen Sie **Piano**. Klicken Sie auf **Configure**.

<img src="/integrations-piano-analytics-integration-1.webp" alt="Piano-Integrationseinstellungen in Pushwoosh"/>

Geben Sie im sich öffnenden Fenster die folgenden Anmeldeinformationen an:

1.  Site ID

Um Ihre Site ID zu finden, melden Sie sich bei Ihrem Piano-Konto an und gehen Sie zu **Analytics > Data Collection Portal > Dashboard.** Finden Sie die relevante Website und kopieren Sie deren ID.

<img src="/integrations-piano-analytics-integration-2.webp" alt="Finden der Site-ID in Piano Analytics"/>

2.  Collection Domain

Um die Collection Domain zu finden, navigieren Sie zu **Tagging > Collection Domains**. Kopieren Sie die Collection Domain ID. Stellen Sie sicher, dass Sie die Collection Domain im Format **\*\*\*\*.pa-cd.com** ohne das Präfix **https://** eingeben.

<img src="/integrations-piano-analytics-integration-3.webp" alt="Einstellungen der Collection Domain in Piano"/>

3.  Piano API Access und Secret Keys

So erhalten Sie die Schlüssel:

*   Klicken Sie in Ihrem Piano-Konto unter Ihrem Kontonamen auf **See profile**.

<img src="/integrations-piano-analytics-integration-4.webp" alt="Kontoprofil-Menü in Piano"/>

*   Navigieren Sie zum Tab **API Keys** und erstellen Sie einen neuen Schlüssel mit einem klaren Namen und einer Beschreibung. Klicken Sie dann auf **OK**.

<img src="/integrations-piano-analytics-integration-5.webp" alt="Erstellen eines API-Schlüssels im Piano-Konto"/>

*   Kopieren Sie im sich öffnenden Fenster Ihren **Access Key** und den **Secret Key**.

<Aside type="caution">
Aus Sicherheitsgründen wird der **Secret Key** nur einmal angezeigt. Bitte stellen Sie sicher, dass Sie beide Schlüssel an einem sicheren Ort speichern, bevor Sie fortfahren.
</Aside>

<img src="/integrations-piano-analytics-integration-6.webp" alt="Kopieren von API-Schlüsseln aus dem Piano-Konto"/>

*   Geben Sie im Feld **API key** in Pushwoosh sowohl den **Access Key** als auch den **Secret Key** ein, getrennt durch einen Unterstrich. Zum Beispiel: **accesskey_secretkey**.

<img src="/integrations-piano-analytics-integration-7.webp" alt="Eingabe von API-Schlüsseln in der Pushwoosh-Integration"/>

### Erstellen von Piano-Events, die mit Pushwoosh-Events übereinstimmen

Um von Pushwoosh gesendete Events in Piano zu verfolgen, müssen Sie entsprechende Events manuell in Piano erstellen.

So geht's in Ihrem Piano-Konto:

1.  Gehen Sie zu **Settings > Data management > Data model**.
2.  Wählen Sie **Events** und klicken Sie auf das Plus-Symbol, um ein neues Event zu erstellen.
3.  Geben Sie im sich öffnenden Fenster den Event-Namen und die Beschreibung ein, zum Beispiel _**"pw\_siteopened"**_.

<Aside type="note">
Die Benennung von Events ist nicht case-sensitive. Wenn Sie in Pushwoosh einen großgeschriebenen Namen für ein Event erstellen, zum Beispiel _PW_SiteOpened_, wird es dem _pw_siteopened_-Event in Piano zugeordnet.
</Aside>

4.  Wählen Sie im Feld **Type** die Option **On-site**.
5.  Wählen Sie im Feld **Categories** die Option **Events**.
6.  Klicken Sie auf **Save**.

<img src="/integrations-piano-analytics-integration-8.webp" alt=""/>

### Einstellen der Zeitzone Ihrer Website in Piano

Das Einstellen der korrekten Zeitzone für Ihre Website in Piano ist entscheidend für eine genaue Datenverfolgung und -analyse. Die beste Vorgehensweise ist, die Zeitzone an den Ort anzupassen, an dem Sie Events senden und Analysen durchführen. Dies eliminiert Zeitdiskrepanzen.

Um die Zeitzone in Piano zu bearbeiten, gehen Sie zum **Dashboard** und klicken Sie auf die Zeile mit Ihren Website-Informationen. Klicken Sie im Pop-up-Fenster auf **Edit** und wählen Sie die gewünschte Zeitzone aus. Klicken Sie dann auf **Save**.

<img src="/integrations-piano-analytics-integration-9.webp" alt="Einstellen der Zeitzone für die Website in Piano"/>

### Erstellen einer Eigenschaft zur Identifizierung von aus Pushwoosh gesendeten Events in Piano

Um die Datenverwaltung zu erleichtern, erstellen Sie eine Eigenschaft in Piano, die mit Pushwoosh-Events verknüpft werden kann. Dies ermöglicht es Ihnen, von Pushwoosh gesendete Events leicht zu identifizieren.

So erstellen Sie die Eigenschaft:

1.  Gehen Sie in Piano zu **Settings > Data Management > Properties.**
2.  Klicken Sie auf **Create Property**.
3.  Geben Sie im Feld **Name** **pushwooshid** ein.
4.  Geben Sie im Feld **Property Key** **pushwooshid** ein.
5.  Setzen Sie den **Type** auf **String**.
6.  Klicken Sie auf **Save**.

<img src="/integrations-piano-analytics-integration-10.webp" alt="Erstellen einer Eigenschaft für Pushwoosh-Events in Piano"/>

### Überprüfen, ob Pushwoosh-Events an Piano gesendet werden

Um zu überprüfen, ob in Pushwoosh eingerichtete Events erfolgreich an Piano gesendet werden, folgen Sie diesen Schritten:

1.  Gehen Sie in Ihrem Piano-Konto zu **Explorer > Audience > Overall Traffic**.
2.  Erstellen Sie ein Segment basierend auf Events, bei denen die Eigenschaft **pushwooshid** nicht leer ist.

<img src="/integrations-piano-analytics-integration-11.webp" alt="Erstellen eines Segments basierend auf Events in Piano"/>

Die gefilterte Ansicht zeigt Informationen zum Gesamtverkehr, einschließlich aller zugehörigen Events.

<img src="/integrations-piano-analytics-integration-12.webp" alt="Gesamtverkehrsansicht mit Pushwoosh-Events"/>

Für eine detailliertere Ansicht der von Pushwoosh gesendeten Events navigieren Sie zu **Content > Events**. Dieser Abschnitt bietet eine detaillierte Aufschlüsselung aller von Pushwoosh gesendeten Events, einschließlich der Häufigkeit, mit der jedes Event aufgetreten ist.

<img src="/integrations-piano-analytics-integration-13.webp" alt="Detaillierte Aufschlüsselung der Events von Pushwoosh"/>

### Erstellen von Segmenten in Piano

Sobald Sie die Integrationseinrichtung abgeschlossen haben, können Sie mit der Analyse der von Pushwoosh gesendeten Events in Piano beginnen. Um auf diese Events zuzugreifen, navigieren Sie in Ihrem Piano-Konto zu **Explorer > Content > Events**.

<img src="/integrations-piano-analytics-integration-14.webp" alt="Event-Ansicht in Piano Analytics"/>

Dann [erstellen Sie Segmente](https://support.piano.io/hc/en-us/articles/4467486423570-Create-a-segment) unter Verwendung dieser Events. Wählen Sie beim Erstellen von Segmenten die Eigenschaft **`pushwooshid`**, die Sie zuvor erstellt haben, um Events zu filtern.

<img src="/integrations-piano-analytics-integration-15.webp" alt="Erstellen von Segmenten mit der pushwooshid-Eigenschaft"/>

Stellen Sie sicher, dass Sie Ihrem Segment einen klaren und beschreibenden Namen geben. Der **Segment Key**, ein eindeutiger Bezeichner für das gespeicherte Segment, wird später benötigt, um Segmente an Pushwoosh zu senden.

<img src="/integrations-piano-analytics-integration-16.webp" alt="Benennen des Segments aus Piano"/>

### Senden von Segmenten von Piano an Pushwoosh

<Aside type="note">
Bitte beachten Sie, dass nur Kontoinhaber Segmente importieren können.
</Aside>

Damit Pushwoosh Segmente von Piano abrufen kann, müssen Sie Pushwoosh den von Ihnen erstellten SegmentKey zur Verfügung stellen. Um den SegmentKey für ein Segment zu finden, gehen Sie zu **Analysis > Library > Segments**. Klicken Sie auf das benötigte Segment und kopieren Sie den **Segment Key**.

<img src="/integrations-piano-analytics-integration-17.webp" alt="Auswählen des zu sendenden Segments von Piano an Pushwoosh"/>

Suchen Sie im Pushwoosh-Integrationsbereich **Piano** und klicken Sie auf **Import Segment**. Geben Sie dann den kopierten Segment Key ein.

<img src="/integrations-piano-analytics-integration-18.webp" alt="Importieren von Segmenten von Piano nach Pushwoosh über die Integration"/>

Wenn der Import erfolgreich ist, sehen Sie eine Bestätigungsmeldung.

<img src="/integrations-piano-analytics-integration-19.webp" alt="Segment von Piano nach Pushwoosh importiert"/>

Sie können auf Ihre importierten Segmente in Pushwoosh zugreifen. Sobald der Import abgeschlossen ist, werden sie im Bereich **Audience > Segments** Ihres Pushwoosh-Kontos aufgelistet.

<img src="/integrations-piano-analytics-integration-20.webp" alt="Importierte Segmente von Piano in Pushwoosh"/>

## Zuordnung der Piano VisitorID zur Pushwoosh UserID/HWID für gesammelte Analysen über SDKs hinweg

Wenn ein Kunde Analysen sowohl vom Pushwoosh SDK als auch vom Piano Analytics SDK sammeln möchte, muss Pushwoosh die Piano VisitorID der Pushwoosh UserID/HWID zuordnen. Die Lösung besteht darin, ein Piano VisitorID-Tag für den Benutzer/das Gerät an Pushwoosh zu senden.

Dazu gehen Sie wie folgt vor:

1.  Erstellen Sie auf der Pushwoosh-Seite ein Tag mit dem Namen '**Piano Visitor ID**' für die Anwendung. Hinweis: Der Tag-Name muss genau wie beschrieben lauten.
2.  Holen Sie sich auf der Anwendungsseite des Kunden die Piano Visitor ID innerhalb des Piano SDK mit der Methode **getVisitorId**.
3.  Verwenden Sie auf der Anwendungsseite des Kunden das Pushwoosh SDK, um die `setTags`-Anfrage einmal mit dem Tag-Wert aufzurufen.

Wenn der Tag-Wert (Piano Visitor ID) für den Benutzer/das Gerät vorhanden ist, wird Pushwoosh ihn automatisch als Client ID in Anfragen an Piano Analytics aufnehmen. Auf der Seite von Piano Analytics wird er in einen eindeutigen Besucher-ID-Wert umgewandelt.

## Codebeispiele

##### Web Push SDK (JavaScript)
```javascript
Pushwoosh.push(function(api) {
// Set tags for a user
api.setTags({
'Piano Visitor ID': pa.getVisitorID(),
});
```

##### Android (Java)
```java
String value1 = PianoAnalytics.getInstance().visitorId();
TagsBundle pianoTag = new TagsBundle.Builder()
    .putString("Piano Visitor ID", value1)
    .build();
Pushwoosh.getInstance().setTags(pianoTag);
```

##### iOS (Swift)
```swift
var pianoId: String = pa.getVisitorId(completionHandler: { visitorId in
Pushwoosh.sharedInstance().setTags([
 "Piano Visitor ID": visitorId
 ])
})
```

##### iOS (Objective-C)
```objective-c
__block NSString *pianoId;
[pa getVisitorIdWithCompletionHandler:^(NSString *visitorId) {
    Piano Visitor ID = visitorId;
    [[Pushwoosh sharedInstance] setTags:@{@"Piano Visitor ID": visitorId}];
}];
```

Im Allgemeinen verwendet Pushwoosh Geräte-Tags, um Geräte- und andere Informationen innerhalb jeder Anfrage an Piano Analytics zu übermitteln. Hier ist eine Liste der häufig verwendeten Tags:

*   **Country**
*   **Device Model**
*   **OS Version**
*   **Browser Type** (in einigen Fällen)

## Wie man die Funktionsfähigkeit der Integration überprüft

#### Quelle: Erkennen von an Piano Analytics gesendeten Events

Es gibt zwei einfache Möglichkeiten, an Piano Analytics gesendete Events zu erkennen:

##### Stream Inspector
   1. Gehen Sie zu Ihrem **Piano Analytics**-Konto.
   2. Navigieren Sie zu **Settings** > **Data Collection Portal** > **Tools** > **Stream Inspector**.
   3. Wählen Sie die verbundene Seite aus, die Sie überprüfen möchten.
   4. Wählen Sie die Events aus, die Sie inspizieren möchten, und starten Sie eine Sitzung.
   5. Überprüfen Sie, ob die Events von Piano Analytics empfangen wurden.
##### Events im Gesamtverkehr überprüfen
   1. Gehen Sie zu Ihrem **Piano Analytics**-Konto.
   2. Navigieren Sie zu **Settings** > **Explorer** > **Audience** > **Overall Traffic**.
   3. Wählen Sie die Seite und den Datumsbereich im Menü unten aus.

#### Ziel: Importieren des Piano-Segments

Um die Integration auf der Zielseite zu überprüfen:

*   Importieren Sie das Segment von Piano.
*   Sie sollten ein neues Segment (Filter) mit einem Namen sehen, der wie `segment_key (Piano Autogenerated)` aufgebaut ist.
*   Berechnen Sie das Segment neu, um aktuelle Informationen über die Verarbeitung der aktuellen Geräte zu erhalten.

## FAQ-Fehlerbehebung: Häufige Probleme

#### Wie kann ich sicherstellen, dass Events korrekt von Pushwoosh an Piano Analytics gesendet werden?

**Lösung**: Verwenden Sie den Stream Inspector von Piano oder überprüfen Sie den Gesamtverkehr in Piano Analytics, um eingehende Events von Pushwoosh zu überwachen.

#### Was soll ich tun, wenn Segmentdaten nicht korrekt in Pushwoosh importiert werden?

  **Lösung**: Stellen Sie sicher, dass der Segment Key von Piano mit der Einrichtung in Pushwoosh übereinstimmt. Überprüfen Sie auf Fehler bei der Berechnung der Segmentgröße oder beim Datenabruf.


#### Kann ich die Piano VisitorID mit Pushwoosh für erweiterte Analysen integrieren?

  **Lösung**: Ja, indem Sie ein spezifisches Tag in Pushwoosh einrichten und das SDK von Piano verwenden, um die VisitorID abzurufen, können Sie Benutzer-IDs über Plattformen hinweg synchronisieren.


#### Was soll ich tun, bei Problemen mit den API-Schlüssel-Konfigurationen?

  **Lösung**: Überprüfen Sie die API-Anforderungsprotokolle, stellen Sie sicher, dass die Endpunkt-URLs und Authentifizierungstoken (API-Schlüssel) korrekt sind, und prüfen Sie auf serverseitige Fehler, die von einem der beiden Dienste gemeldet werden.