Website-Monetarisierung mit Coil (und Entfernen von Anzeigen für Unterstützer)

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Ich habe in der Vergangenheit eine Handvoll Websites ausprobiert, die auf „Trinkgeld mit Mikrozahlungen“ basierten. Sie kommen und gehen. Das ist in Ordnung. Aus Sicht des Publishers ist es geringe Verpflichtung. Ich habe nie viel verdient, aber es war normalerweise genug, um es lohnenswert zu machen.

Jetzt lässt mich Bruce Coil ausprobieren. Das überzeugt mich aus mehreren Gründen:

  • Das Ziel ist, es auf einem tatsächlichen Webstandard(!) aufzubauen.
  • Coil ist gut gestaltet. Es ist der Dienst, den die Leser tatsächlich abonnieren, *und* eine Browsererweiterung (für Chrome und Firefox), die Publisher bezahlt.
  • Das Geld landet auf einem Stronghold-Konto1. Ich weiß nicht viel darüber, aber es war einfach genug einzurichten und ist ebenfalls gut gestaltet.
  • Alles ist anonym. Ich habe keinen Zugriff auf Informationen über die Nutzer, die die Website mit diesen Mikrozahlungen unterstützen, kenne nichts über sie und speichere nichts von ihnen.
  • Auch wenn alle anonym sind, kann ich trotzdem Dinge für die Unterstützer tun, zum Beispiel keine Anzeigen schalten.

Es ist ein einzelner Tag auf Ihrer Website.

Nach der Anmeldung bei Coil und mit einem Stronghold-Konto müssen Sie im Grunde nur noch einen <meta>-Tag im <head> Ihrer Website einfügen. Hier ist meiner:

<meta name="monetization" content="$pay.stronghold.co/1a1b91b23306ab547228c43af27ac0f2411">

Leser, die ein aktives Coil-Abonnement haben und die Coil-Browsererweiterung verwenden, beginnen, Mikrozahlungen an Sie, den Publisher, zu senden. Ziemlich cool.

Nicht monetarisierte Website.
Monetarisierte Website (und Zahlungen erfolgreich)

Bares Geld

Ich habe schon einen Dollar verdient!

Da alles anonym ist, habe ich keine Logik eingerichtet, um das Einfügen des Meta-Tags zu verhindern, wenn ein Administrator die Website aufruft. Ich wette, ich bezahle mich größtenteils selbst. Und Bruce.

Die große Hoffnung ist, dass dies eine anständige Einnahmequelle wird, sobald dies einen Webstandard erzwingt und viele Nutzer sich dafür entscheiden. Ich vermute, es wird Jahre dauern, bis wir dort ankommen, falls es sich tatsächlich als gewinnbringender Akteur etabliert.

Es ist auch interessant, über die globale Wirtschaft nachzudenken. Ein Dollar für mich ist nicht dasselbe wie ein Dollar für andere auf der ganzen Welt. Weniger Geld kommt in einigen Teilen der Welt sehr weit. Dies hat das Potenzial, eine Einkommensquelle zu erschließen, die Dinge wie Werbung vielleicht nicht so gut berücksichtigen. Ich höre Leute, die in der Werbung arbeiten, von „schlechten Geografien“ sprechen, was wörtlich bedeutet, dass Werbetreibende von Orten wegsehen, an die sie Werbe-Dollar senden.

Unterstützer belohnen

Wie ich bereits erwähnte, ist dies völlig anonym. Sie können den Leuten keine kostenlose E-Book-Datei per E-Mail senden oder Ähnliches für eine Spende. Aber der Browser selbst kann wissen, ob der aktuelle Benutzer Sie bezahlt oder nicht.

Es ist im Wesentlichen so, als ob... der Benutzer Sie nicht bezahlt.

document.monetization === undefined

Benutzer *könnte* Sie bezahlen, oh, Moment mal.

document.monetization && document.monetization.state === 'pending'

Der Benutzer bezahlt Sie.

document.monetization && document.monetization.state === 'started'

Damit können Sie machen, was Sie wollen. Vielleicht können Sie bei Bedarf dynamisch einen sicheren Download-Link generieren, wenn Sie wirklich etwas wie ein E-Book verschenken oder „nur für Abonnenten“-Inhalte anbieten möchten.

Anzeigen für Unterstützer nicht anzeigen

Anzeigen werden normalerweise sowieso von JavaScript angetrieben. Im globalen JavaScript dieser Website habe ich buchstäblich bereits eine Funktion namens csstricks.getAds();, die den Prozess startet. Das ermöglicht es mir, diesen Funktionsaufruf in eine Logik zu verpacken, falls es Situationen gibt, in denen ich den Anzeigenprozess gar nicht erst starten möchte, genau wie in diesem Fall.

if (showAdsLogic) {
  csstricks.getAds();
}

Es ist jedoch etwas knifflig, da document.monetization.state === 'started' nicht sofort eintritt. Glücklicherweise wird ein Ereignis ausgelöst, wenn sich dieser Wert ändert.

if (document.monetization) {
  document.monetization.addEventListener("monetizationstart", event => {
    if (!document.monetization.state === "started") {
      getAds();
    }
  });
} else {
  getAds();
}

Und es kann noch viel ausgefeilter werden: Sitzungen validieren, verschiedene Dinge basierend auf Zahlungsbeträgen tun usw. Hier ist ein Setup aus deren Erläuterung.

if (document.monetization) {
  document.monetization.addEventListener("monetizationstart", event => {
    // User has an open payment stream

    // Connect to backend to validate the session using the request id
    const { paymentPointer, requestId } = event.detail;
    if (!isValidSession(paymentPointer, requestId)) {
      console.error("Invalid requestId for monetization");
      showAdvertising();
    }
  });

  document.monetization.addEventListener("monetizationprogress", event => {
    // A payment has been received

    // Connect to backend to validate the payment
    const {
      paymentPointer,
      requestId,
      amount,
      assetCode,
      assetScale
    } = event.detail;
    if (
      isValidPayment(paymentPointer, requestId, amount, assetCode, assetScale)
    ) {
      // Hide ads for a period based on amount received
      suspendAdvertising(amount, assetCode, assetScale);
    }
  });
  // Wait 30 seconds and then show ads if advertising is no longer suspended
  setTimeout(maybeShowAdvertising, 30000);
} else {
  showAdvertising();
}

Ich stelle fest, dass das monetizationstart-Ereignis *ein paar Sekunden* zum Auslösen braucht, sodass es eine Weile dauert, um festzustellen, ob ein Benutzer aktiv monetarisiert. Ein paar Sekunden sind eine ziemlich lange Zeit, um auf die Abfrage von Anzeigen zu warten. Daher bin ich mir nicht ganz sicher über den besten Ansatz. Sie könnten die Anzeigenanfragen sofort starten und sie dann basierend auf den Ergebnissen einfügen oder nicht (oder ausblenden oder nicht). Je nachdem, wie diese Anzeigen verfolgt werden, könnten dies falsche Impressionen erzeugen oder Ihre Klickrate beeinträchtigen. Ihre Erfahrungen können variieren.

Wie spielt der Webstandard eine Rolle?

Hier ist der Vorschlag. Ich kann nicht behaupten, alles zu verstehen, aber ich denke, der Kern der Sache ist, dass Sie keine Browsererweiterung benötigen würden, da das Konzept im Browser integriert ist. Und Sie benötigen auch kein Coil; es wäre nur eine Option unter anderen.


1 Mir wurde gesagt, dass bald weitere „Wallets“ kommen und Stronghold nicht für immer die einzige Option sein wird.