So erstellen Sie automatisch kostenlose Instagram-Analysen mit einem Google Sheets-Skript

Als jemand, der sich sehr intensiv mit Instagram beschäftigt, ist das Verfolgen von Konten eines der Dinge, die Sie tun müssen, aber häufig nicht möchten (oder die Zeit dafür haben).

Teil 1: Wie das Drehbuch entstand

Da ich ein echter "Nerd" bin, wenn es um die Verwendung von Google Sheets und Excel geht (im Ernst, ich erstelle oft Excel-Tabellen und verwende Formeln, um selbst die einfachsten Dinge zu berechnen, anstatt einen Taschenrechner zu verwenden), bin ich kürzlich auf diesen Beitrag von gestoßen Nick Boyce über die Verfolgung Ihrer Instagram-Follower im Laufe der Zeit mit Google Sheets Ich war sofort amüsiert.

Der Beitrag von Nick zeigte uns, wie man ein Google-Blatt erstellt, das zwei grundlegende Dinge verfolgt:

  • Die Anzahl der Follower, die ein Instagram-Benutzer hat
  • Die Anzahl der Beiträge eines Instagram-Nutzers

Dies war ein guter Anfang, aber es schien, dass seine Methode viel mehr Potenzial hatte. Nachdem ich Nicks Methode implementiert hatte, stieß ich auf einen anderen mittelgroßen Benutzer, der sich mit Instagram Analytics in Verbindung mit Google Sheets befasst hatte: Aidan Heron mit seinem Beitrag: Wie man Instagram Metriken kostenlos verfolgt

Aidan hat die Möglichkeit hinzugefügt, die Menge an Followings zu sammeln, die ein Benutzer hat. Bringen Sie unser gesamtes Tracking zu:

  • Anhänger
  • Folgen
  • Beiträge

Aber der Beitrag von Aidan Heron hat etwas Interessantes hervorgerufen, nämlich die URL, unter der er die Daten gesammelt hat:

https://www.instagram.com/yourHandle/?__a=1 (Ersetzen Sie "yourHandle" durch Ihren Benutzernamen, um einige funky Sachen zu sehen).

Das? __ a = 1 funktioniert nicht mehr, nachdem im April die API / der Endpunkt geändert wurde. Sie können jedoch einfach mit der rechten Maustaste auf die Seite auf Instagram klicken und den Quellcode anzeigen. Die Daten sind noch da!
Es sieht aus wie eine zufällige Textfolge, aber da ist etwas Gold drin!

Was auf den ersten Blick nur nach einer zufälligen Textmenge aussieht, zeigt tatsächlich die Daten Ihrer letzten 12 Posts an und enthält die Anzahl der Likes und Kommentare, die ein bestimmter Post erhalten hat! Genau das hat mir sowohl in Nicks als auch in Aidans Posts gefehlt, die Möglichkeit, das erhaltene Engagement zu messen!

Nachdem ich mit zusätzlichen Skripten herumgespielt hatte (zusammen mit meinem guten Webentwickler-Freund Wim) und es geschafft hatte, alle Daten zu strukturieren und sie richtig zu formatieren, um sie in Google Sheets zu verwenden.

Teil 2: verfügbare Daten

Nach einigem Hin und Her können Sie nun die folgenden Daten von Instagram effizient auf Ihre Google Sheets ziehen:

  • Anhänger
  • Folgen
  • Beiträge
  • Gesamtzahl der Likes (der letzten 12 Beiträge)
  • Gesamtanzahl der Kommentare (der letzten 12 Beiträge)

Ich habe zusätzliche Skripte hinzugefügt, um das Verlobungsverhältnis zu berechnen, und eine Bonusformel, um die täglichen Follower zu berechnen, die man gewonnen hat. Zusammenfassend lässt sich sagen, dass dieses Skript aus normalen alten Google Sheets ein kostenloses Instagram Analytics-Tool macht.

Teil 3: Auf geht's!

Nachdem wir uns mit der Entstehung dieses Skripts und den möglichen Daten befasst haben, ist es an der Zeit, sich an die Arbeit zu machen und das Google Sheet zu erstellen.

  • Öffnen Sie ein neues Google Sheet und fügen Sie den Spalten in der ersten Zeile (1) die folgenden Überschriften hinzu:
    - Datum
    -Followers
    - Folgen
    - Medien
    - Gesamte Likes
    - Kommentare insgesamt
    - Verpflichtungsquote
    - Follower gewonnen
Ich sollte so aussehen (wir werden bald auf die Daten zugreifen, das verspreche ich!)
  • Öffnen Sie anschließend im Menü Extras -> Skript
  • Kopieren Sie das Skript und ändern Sie zwei Variablen:
    - sheetName (Ändern Sie die Werte zwischen "". Dies sollte der Name des Blatts sein, in das Sie die Daten importieren möchten.)
    - instagramAccountName (dies sollte der Benutzer sein, für den Sie Daten sammeln möchten)
Ändern Sie diese 2 Werte nach dem Kopieren des Skripts

Stellen Sie sicher, dass der Name des Blatts zu 100% mit dem Namen des Registers übereinstimmt (am unteren Rand des Blatts):

Aktualisierung vom 09.03.2009: Das Skript wurde aktualisiert, um Änderungen von Instagram widerzuspiegeln. Vielen Dank an JulienDev für den aktualisierten Code!
  • Speichern Sie das Skript (Sie werden aufgefordert, einen Namen einzugeben).
  • Öffnen Sie Run -> Run Function -> insertFollowerCount

Aufgrund der Einschränkungen dieser Methode sind keine historischen Daten verfügbar. Wenn Sie jedoch alles in Google Sheets importieren, werden nach und nach die Verlaufsdaten für Sie erstellt. Lass dir etwas Zeit! :).

Wenn Sie jetzt zurück zum Arbeitsblatt wechseln, sollte etwa Folgendes angezeigt werden:

Die ersten Ergebnisse

Teil 4: Verfolgen mehrerer Konten

Wenn Sie mehrere Konten verfolgen möchten, ändern Sie den Code wie folgt:
Ersetzen Sie den gesamten Code durch den folgenden

Code:

Funktion MultipleAccounts () {
  // Richten Sie mehrere Blätter und Instagram-Konten ein
  insertFollowerCount ("sheetName1", "25945306");
  insertFollowerCount ("sheetName2", "232192182");
  
}
var instagram_base_url = "https://www.instagram.com/graphql/query/";
Funktion insertFollowerCount (sheetName, user_id) {
  Logger.log (user_id)
  Logger.log (sheetName)
  
  var ss = SpreadsheetApp.getActiveSpreadsheet ();
  var sheet = ss.getSheetByName (sheetName);
  Logger.log (Blatt)
  Logger.log (ss)
var followers = getFollowers (user_id);
  var following = getFollowing (user_id);
  var medias = getMedias (user_id);
  var engagement = getEngagement (Medien, Follower);
sheet.appendRow ([Utilities.formatDate (new Date (), "GMT", "yyyy-MM-dd"), followers, medias.count, engagement.totalLikes, engagement.totalComments, engagement.EngagementRatio]);
};
Funktion getFollowers (user_id) {
  return parseInt (fetch (instagram_base_url + "? query_hash = 37479f2b8209594dde7facb0d904896a & variables =% 7B% 22id% 22% 3A% 22" + user_id + "% 22% 2C% 22first% 22% 3A24% 7D") ['data'] [' '] [' edge_followed_by '] [' count ']);
}
Funktion getFollowing (user_id) {
  return parseInt (fetch (instagram_base_url + "? query_hash = 58712303d941c6855d4e888c5f0cd22f & variables =% 7B% 22id% 22% 3A% 22" + user_id + "% 22% 2C% 22first% 22% 3A24% 7D") ['data'] [' '] [' edge_follow '] [' count ']);
}
Funktion getMedias (user_id) {
  return fetch (instagram_base_url + "? query_hash = f2405b236d85e8296cf30347c9f08c2a & variables =% 7B% 22id% 22% 3A% 22" + user_id + "% 22% 2C% 22first% 22% 3A12% 7D") ['data'] [' ['edge_owner_to_timeline_media'];
}
Funktion getEngagement (Medien, Follower) {
  var totalComments = 0,
    totalLikes = 0;
  für (var i = 0; i <12; i ++) {
    totalComments + = parseInt (medias.edges [i] .node.edge_media_to_comment.count);
  };
  für (var l = 0; l <12; l ++) {
    totalLikes + = parseInt (medias.edges [l] .node.edge_media_preview_like.count);
  };
  var engagementRatio = (((totalLikes + totalComments)) / followers) / 12;
  Rückkehr {
    mediaCount: parseInt (medias.count),
    totalComments: totalComments,
    totalLikes: totalLikes,
    EngagementRatio: engagementRatio
  }
}
Funktionsabruf (URL) {
  var ignoreError = {
    "muteHttpExcecptions": true
  };
  var source = UrlFetchApp.fetch (url, ignoreError) .getContentText ();
  var data = JSON.parse (Quelle);
  Daten zurückgeben;
}

Führen Sie anschließend "MultipleAccounts" (anstelle von InsertData) aus (oder setzen Sie Ihren Trigger auf :).

Hier sehen Sie das Multikontenblatt in Aktion;)

Teil 5: Automatisierung hinzufügen

Natürlich ist Analytics nur so gut wie die Regelmäßigkeit, mit der sie gesammelt werden. Dank Google können wir die Ausführung dieses Skripts vollständig automatisieren.

  • Klicken Sie auf Bearbeiten -> Trigger des aktuellen Projekts
  • Klicken Sie auf "Keine Trigger eingerichtet". Klicken Sie hier, um jetzt eine hinzuzufügen “und wählen Sie eine Sequenz aus, in der das Skript die Daten sammelt. Persönlich ziehe ich es vor, täglich von Mitternacht bis 1 Uhr morgens automatisch Daten abzurufen:
  • Klicken Sie auf Speichern, um das Popup zu schließen.

Dort! Jetzt sind Sie fertig, und das Skript zieht jeden Tag die neuesten Daten aus Ihrem Profil auf Ihr Arbeitsblatt.

Teil 6: Berechnung des täglichen Wachstums

Obwohl es ein sehr guter Anfang ist, alle oben genannten Kennzahlen zu verfolgen, möchte ich auch wissen, wie viele neue Follower ich in den letzten 24 Stunden gewonnen habe.

Um dies zu berechnen, habe ich die folgende Formel zu H3 hinzugefügt:

= if (B3 <> ””, B3-B2, ””)
Hinweis: Die Komma- und Anführungszeichen können abhängig von Ihren lokalen Einstellungen in Google Sheets variieren.

Diese if-Formel prüft, ob in der Spalte Followers ein Wert vorhanden ist. Wenn es nicht leer ist, wird der Wert in der obigen Zelle übernommen und der neue Wert abgezogen. Wenn die Spalte "Follower" keinen neuen Wert enthält, bleibt die Zelle leer (und dies ist nützlich, wenn Sie Diagramme mit diesen Daten erstellen und keine Nullen anzeigen möchten, sondern Leerzeichen!)

Sie können diese Formel jetzt in den unteren Bereich des Arbeitsblatts kopieren. Bei jedem Hinzufügen einer neuen Datenzeile werden automatisch die neuen täglichen Zuwächse berechnet.

Teil 7: Visualisieren

Die Daten sind alle in Ordnung, aber jetzt sollten Sie eine weitere Registerkarte in diesem Blatt erstellen und Diagramme mit diesen Daten erstellen. Wenn sich das Blatt füllt und wir jeden Tag mehr Daten abrufen, möchten wir Visualisierungen verwenden, um Trends und Änderungen im Handumdrehen erkennen zu können!

Spielen Sie mit Balkendiagrammen, Trendlinien, ... sehen Sie, was für Sie funktioniert und bieten Sie die besten und schnellsten Einblicke!

So sieht mein Dashboard aus

Alternative Visualisierung: Google Data Studio

Wenn Sie viel Diagramm in Google Sheets einfügen, wird die Leistung beim Öffnen der Tabelle selbst verringert. Sie können das Blatt selbst jedoch als Datenconnector in Google Data Studio verwenden. Es ist wirklich großartig und kostenlos!

Der Vorteil von Google Data Studio besteht darin, dass Sie auf einfache Weise Dropdowns für Datumsperioden erstellen und Monate, Wochen, Tage auswählen können. Sie können die Berichte auch in Ihre eigene Website einbetten (funktioniert sogar in Canva-Dateien!).

Teil 8: Probleme und bekannte Probleme vermeiden

Aufgrund der Zeitzone, in der Sie sich möglicherweise befinden, kann das Sheet möglicherweise mehrmals am Tag Daten abrufen, auch wenn Sie dies nur einmal festgelegt haben.

Um dieses Problem zu vermeiden, müssen Sie Ihr Arbeitsblatt in die britische Zeitzone stellen (wenn Sie das Skript überprüfen, wird die GMT-Zeitzone verwendet, obwohl Sie dies möglicherweise ändern könnten). Wenn Sie alternativ eine andere Zeitzone im Skript festgelegt haben, stellen Sie sicher, dass die Blatteinstellungen übereinstimmen.

  • Gehen Sie zu Datei -> Tabellenkalkulationseinstellungen und vergewissern Sie sich, dass die Zeitzone in Großbritannien angegeben ist.

Fehler: typeError: Die Eigenschaft "node" kann nicht von undefined gelesen werden. (Zeile 31, Datei "Code")

Obwohl das Skript dies in einer anderen Zeile anzeigt, ist die Hauptursache für dieses Problem entweder der falsche Benutzername (Zeile 4) oder dass das Skript nicht genügend Daten abrufen kann (dies ist der Fall, wenn Ihr Konto weniger als 12 enthält Beiträge zum Beispiel).

Fehler: 429 Server abgeschnitten

Dies liegt hauptsächlich daran, dass Instagram die Verbindung ablehnt (aufgrund von Überbeanspruchung, Geschwindigkeit usw.), und gelegentlich schlägt das Skript dadurch fehl. Die einzige "echte" Lösung, die ich gefunden habe, ist, es einige Minuten später noch einmal zu versuchen.

Bonus: Vergleichen Sie mit Ihren Mitbewerbern

Da zum Sammeln dieser Daten keine Instagram-Anmeldeinformationen erforderlich sind, können Sie auch Ihre Konkurrenten verfolgen.

Erstellen Sie dazu einfach einen neuen Tab in Google Sheet. Installieren Sie das Skript und passen Sie SheetName und InstagramAccountName an.

Sie können sie dann auch zu Ihrer Grafik hinzufügen und sehen, wie Sie sich im Vergleich zu Ihren Mitbewerbern behaupten.

Bonus: Ein Rabattgutschein für Viral Insight

Aufgrund der großen Beliebtheit dieser Geschichte habe ich beschlossen, eine professionellere Version dieses Blatts in eine Cloud-basierte Website zu integrieren.

Wie in der Einleitung erwähnt, lautet die URL https://viralinsight.io. Aber wenn Sie es so weit geschafft haben, möchte ich Ihnen wirklich einen Bonus geben. Aus diesem Grund biete ich Ihnen gerne den folgenden Gutscheincode an, mit dem Sie auf alle Pläne einen Rabatt von 15% auf FOR LIFE erhalten. Wenn Sie das nicht bezahlen möchten, können Sie 2 Konten völlig kostenlos nachverfolgen. Der Promocode lautet:

MEDIUM15

Wie würden Sie dieses Blatt verbessern?

Wenn Sie es so weit geschafft haben, möchte ich Ihnen danken! Ich möchte auch Nick Boyce und Aidan Heron dafür danken, dass sie mich auf den Weg gebracht haben.

Nun kommt die unvermeidliche Frage: Wie würden Sie dieses Blatt weiter verbessern? Was fehlt? Fügen Sie weitere Formeln hinzu, um Metriken zu berechnen? Lass es mich wissen, bitte! Ich möchte es unbedingt herausfinden!

Wenn Sie Hilfe bei der Implementierung benötigen, zögern Sie bitte nicht, mich über meine Website zu erreichen.