How we took the article-gifting feature from hackathon to live

--

Süddeutsche Zeitung is known for its award-winning journalism and investigative research. While we offer a worthwhile selection of articles on our homepage for free, access to some of our best stories and reporting is limited to paying customers with either a print or digital subscription (SZ Plus). Our subscribers secure the financial means and independence required for quality journalism. Therefore, we invest in a strong, server-side protection of our paid articles (the “paywall”).

The paywall cuts off articles for non-subscribers starting from the third line.

But what if you want to discuss that one paid article with someone who is not a subscriber? Fortunately, that’s possible now: We are thrilled to allow our subscribers to share some of our best journalism with their friends and family who do not have an active subscription. In this post, we describe the process from idea to shipping the feature to our subscribers, and we discuss some challenges along the way.

By Julia Kandler, Sandra Hartung and Benjamin Geese

Idea and Approach

Since April 2023 , we allow our subscribers to gift selected SZ Plus articles. The idea for the “gift an article” feature came about during our “Ship-It Day”, which is a company-wide one-day hackathon for all employees to work on their own ideas.

The first design drafts in Figma, which were created as a proof of concept in just a few hours during the hackathon.

As soon as we decided to implement the feature, we started off with research and market comparison and created a click dummy.

Our team, the “Entwicklungsredaktion” (editorial innovation lab) of Süddeutsche Zeitung, mainly creates new ways of digital storytelling. We used those storytelling articles as our testing ground for the “gift an article” feature.

As of April, our subscribers can create unlimited gift links to send to friends, so we can measure how much the feature is used. Further down the road, we might decide to draw a limit on how many gift links each subscriber can create.

To create business value, we added the constraint that people must log in or create a free SZ account to be able to redeem their gift and read the article for free.

To prevent abuse, we only allow one gift link to be redeemed by one person. After the person has redeemed that unique link, it is invalidated. This way, we can prevent public gift links to free SZ Plus articles e.g. on Twitter.

So primarily, the “gift an article” feature is meant for our subscribers as an added value to their subscription. But we already see high registration rates so we could also prove that people are willing to register to redeem their gift.

Design challenges

Although we already had design drafts from the hackathon, we couldn’t just move forward with them. As quick and dirty proofs of concept, they were great. However, they did not meet some mandatory requirements. In our articles, there is an option to customize colors. This meant that we needed to create a design pattern for the feature that would work in all our articles with all possible background colors.

Placement test with the secondary button in various mobile articles, some of which vary greatly in appearance.

In the end, we decided to use our secondary button for it. The feature is always placed below the publishing date and reading time at the top, so that it is directly present.

Once that decision was made, we built greyscale click dummies for desktop and mobile to test out the flows. Once from the point of view of the person giving the gift, once from the point of view of the recipient. Rather than elaborating on the details in Figma, we implemented them directly in designer-developer pairing.

Simple click dummies in grayscale to test and discuss the logic of the feature.

Technical challenges

We know that our readers want to access sueddeutsche.de quickly and reliably from all over the world, even in less-than-optimal network conditions. Therefore, we use a globally distributed network (CDN) for content delivery.

For the implementation of the article gift feature, we had to balance security, users’ privacy, user experience, and implementation complexity, to keep the costs of our experiment manageable. We believe with the redeemable gift link, we found a solution that does not compromise on the important requirements.

When a subscriber creates a gift link, we use an unique, randomly generated token, to generate a link that can be shared easily but also only claimed by one user only. We trigger the operating system’s or browser’s share dialogue, if available. (Otherwise, we still have copy and paste).

When the recipient claims the gift, the token is invalidated, and we store the redeemed gift in our database. This enables the recipient to access the gift article later.

We then generate a cryptographically signed proof of ownership (token) that is stored on the recipient’s device for 24 hours. When the recipient wants to access the article after the token is invalided, a new token can be generated at any time using the original link.

Finally, we redirect the user to the gifted article and use the token to authorize the user’s request to read a non-free article with a free account. We validate the request within the CDN, without additional network roundtrips or database access, which is fast, secure, and comparatively cheap.

A colorful diagram illustrating the flow described in text above.
In the gift redemption flow, we ensure the performance of our cdn by making sure the gift access can be verified and the paywall passed without a connection to the database by using a signed token that is stored and transmitted by the browser.

Our logging and metrics show a remarkably stable service since day one, made possible by our scalable cloud architecture. But even more importantly, we see good usage metrics and a very high redemption rate.

Findings and Next Steps

For now, we will keep evaluating the acceptance of the feature by our subscribers, as well as redemption and registration rates. We already see that registration rates are pretty high compared to other features.

If we see a lot of potential in the feature, the next step would be to extend it to all our articles.

More info (in german): https://produkte.sueddeutsche.de/artikel-verschenken/

--

--