Datasets

Build the datasets that power your templates

A dataset is a CSV that contains a collection of columns, where each row in the dataset represents an article. Datasets are where the rubber hits the road, and what turn your templates into articles.

This can sound a little abstract so, before we get into the details, let's make sense of the idea through a simple example.

Example 1: A Basic Dataset

The most basic you could create is a simple column with a heading. It might look like this:

What we've essentially done here is to create a column called 'Plant' with 10 values.

If we have a simple template which only contains one variable, we can connect the dataset to the template in order to generate 10 unique articles, each containing a different value for that variable. For example, our template may look something like this:

If we have this template, and the dataset above, we can head to the custom articles dashboard and combine them by clicking 'Generate' on the template.

We'll then be taken to the generation screen, where we can connect our template to our dataset, and map the variables appropriately.

We'll cover this screen in more detail in the Generating Custom Articles section. The most important bits to note for now are that:

  • We've chosen to connect our template to the 'Example - Plant Dataset'.

  • Byword has detected that our template contains a variable named 'plant_name', and we've mapped that to the column in our Dataset called 'Plant'.

Once we start generating this project, Byword will queue one article for every row in our dataset, and every occurrence of the '{plant_name}' variable within our template will be replaced by a corresponding value of 'Plant' from our dataset.

A couple of screenshots above we saw that our article title was 'How To Grow {plant_name}' and that our first H2 was 'The Benefits of Growing {plant_name}'. This means that our articles will begin to generate as:

  1. <h1>How To Grow Tomatoes</h1> [introductory paragraphs] <h2>The Benefits of Growing Tomatoes> [text section]

  2. <h1>How To Grow Basil</h1> [introductory paragraphs] <h2>The Benefits of Growing Basil> [text section]

  3. And so on, for Lavendar, Succulents et cetera!

Hopefully this should start to make sense, and give you some understanding of how datasets work in Byword. Now that we have some familiarity, let's take a step back and look at how we actually create and work with datasets, before covering some more complex examples.

Creating a Dataset

To create a dataset, head to the dataset screen.

Let's start by giving our dataset a name, and uploading the CSV example from earlier just to get us going.

Once our CSV has uploaded, we'll see something that looks like the below.

Byword is telling us that it's found one column (Plant) and that it's found 10 values or rows for that column.

The green check indicates that everything is looking good, and specifically that it's found a value of Plant for each row. This might seem obvious, but we'll see examples later where we can work with missing values.

Once we're good to go, we'll hit Save Dataset, and get taken back to the Custom Articles dashboard where we'll see our brand new dataset in our account.

At this point, we can either go back to editing whichever template we'd like to use in conjunction with our dataset, or start generating articles as we saw in Example 1.

If you've read through Byword's docs before, you might have come across the idea of 2-dimensional SEO. Put simply, this is where you combine two lists together to create an even larger list of possible permutations.

As an example, let's say we have an article title like the following.

If we have 10 unique values for {plant_name}, and 10 unique values for {location}, we can combine these to get 100 unique articles.

Currently, we'd do this by creating our dataset to look like this:

We're working on ways to make this simpler in future, but for now generating all possible combinations in Sheets is generally the safest approach.

When we upload this into the dataset creation screen, we should see the following:

Note that Byword hasn't imported 'plant list' or 'country list'. This is because the empty column C acts as a break for Byword. As soon as Byword reaches an empty column, it stop scanning the CSV. You can therefore leave any rough workings to the right side of your sheet, and not worry about them being imported.

If we now go to generate articles from our updated template with our 2-dimensional dataset, we can connect the variables as follows.

Generating this project will now generate 100 articles from our template, with titles like How To Grow Tomatoes in Germany and How To Grow Lavender in Brazil, and so on.

Example 3: Datasets with Custom Data

So far we've looked at datasets from quite a narrow angle, as simply ways to build article titles programmatically. But there's far more to them than that!

To see what I mean by this, let's look at an example where we don't just have a list of plants, but where we having unique and custom data associated with each of our plants. We might, perhaps, have an internal dataset within our plant company that looks a little something like this:

The specific columns aren't too important here. What is important is just that we have some interesting data associated to each of our plants, and which we'll be able to use in our articles.

With this in mind, we can start to do some much more exciting stuff with our templates!

We'll start with the same article title and initial text section that we had earlier:

With our new dataset columns at hand, we can start building much more interesting Text Sections though:

Here, our plan is to pull in our brand's difficulty score that we have from our dataset. We can start to see how adding the extra columns gives us articles that are both highly unique, and more engaging to a user than typical AI content.

These extra columns can help us do more than just tailor our Text blocks though! We could, for example, insert inline images using Custom HTML blocks:

And we can even use our data to tailor things like our CTAs:

We've done some clever stuff here!

Not only have we tailored our CTA to the specific plant seeds that are relevant to the article, but we've dynamically inserted a CTA URL and even added a UTM parameter (to track purchases which came from this article), and all by adding a few columns to our CSV!

Wrapping Up

In the examples above, we've seen:

  1. How to create a basic dataset with a single column

  2. How to create a 2-dimensional dataset to generate more permutations

  3. How to use custom data in our datasets to create more tailored and engaging content

These examples just scratch the surface of what's possible with datasets. As you become more familiar with them, you'll likely find many creative ways to use them in your article creation process.

With datasets covered, let's move on to documents!

Last updated