This process defines how to use the Schema App Bulk Upload from the time you create a new sub account for a customer, through integration with Google Analytics.  The Bulk Upload capability is available to as part of our Enterprise Package. 

  1. Create a Sub Account for the new Customer
  2. Setup Integration Using Sub Account ID with Google Tag Manager or WordPress Plugin
  3. Prepare the Data for Bulk Upload
  4. Upload the completed File to Schema App
  5. Setup Google Analytics (optional)

Step 1: Create a Sub Account

The first step is to create a sub account for them. Login to and click on the menu for Sub Accounts. Enter the Customer Name.  After you click create, the new account will appear in the Account list.

When a new account is created, it will be listed with the Name of the Account, The Sub Account ID, and also show a summary of the use of the sub account by displaying the number of data items (Things) and Domains. 

Note at the top of the page, Schema App tells you the Current Account ID. This is the Account ID that you can use all the Schema App tools to create markup and it will remain in its own graph.  In order to work on your new customer, you must create the customer and then click on the blue “Switch To” button.  The Current Account ID will now show that of the sub account. In the picture below, I have clicked on Van Berkel Elevators. Note that the Current Account ID now shows Van Berkel Elevators.   Now when I use Schema App Bulk Update, the markup will be created in a graph for Van Berkel Elevators.

The URL to the right of the sub-account name is the Account ID for that sub account. This will be used when you integrate Schema App with your website using the WordPress Plugin, or Google Tag Manager. 

Step 2: Setup Website Integration with Google Tag Manager or WordPress Plugin

Google Tag Manager

If you have not already, contact and request a API key for Google Tag Manager. The team will send you a document with your specific API key and tag code for Google Tag Manager.  When you implement the tag code for a new customer, you need to use the Sub Account ID for that specific customer.  In the code below, there are two unique variable settings.

  • xapikey = Your API Key provided by Schema App team
  • xaccountname = Sub Account ID for specific customer

The API Key will be the same for each implementation (every domain and sub account) and are assigned one ­ Schema App customers.  To figure out the xaccountname for a sub account, go to the Sub Account page in Schema App.  The xaccountname for Google Tag Manager, is the name of your company/Sub Account. For example for Van Berkel Elevators, the xaccountname is “Marthas_Dare/Van_Berkel_Elevators”.

Sample Google Tag Manager Code


function schemaLoad(resourceUri) {

     var xhr = new XMLHttpRequest();

     var api = “” +resourceUri;

     xhr.onreadystatechange = function() {

          if (xhr.readyState == 4 && xhr.status == 200) {

              jsonld = document.createElement(‘script’);

              jsonld.type = ‘application/ld+json’;

              jsonld.innerHTML = xhr.responseText;



     };“GET”, api, true);

     xhr.setRequestHeader(“x­api­key”, “Qt2Qt2Qt2Qt2”);

     xhr.setRequestHeader(“x­account­name”, “Example Agency”);





WordPress Plugin

Go to your WordPress site and install the Schema App WordPress Plugin.  The easiest way to find it is to search for Schema App.  Once you have downloaded and activated the plugin, go to Settings>Schema App. In the Settings, enter the appropriate Sub Account ID, choose whether the publisher is a person or organization, the publisher’s name and upload a logo.  Note the size requirements for the logo.  To find the Sub Account ID, go to the Sub Account page in Schema App, then copy the Sub Account ID from the page. Note, for WordPress, you use the entire Sub Account ID string.  In the example below, for Van Berkel Elevators, the Account ID you would enter in the settings for WordPress is “”.

Step 3: Prepare Data for Bulk Upload

Decide what “thing” you want to optimize (Product or Local Business) using Schema App Bulk Update.  Extract the data from your website or database for the “thing” in spreadsheet form. This gives you the source data in spreadsheet form for mapping into the Schema App Bulk update template. We’ll refer to this as your source spreadsheet.

Go to the Schema App Bulk Update page and download the Template Workbook, it contains all the templates for the different types of bulk upload. Select the Worksheet for the “thing” (Local Business or Product) you want to optimize with


Map the data item properties from the source spreadsheet to the template’s worksheet list of properties. Check the properties have the expected format for Example, DateTime fields expect the ISO8601 format.  Check the website to check expected values.

Scenarios: Multiple values for same property

For each additional value, add a new column along with a number value to the end of all properties by the same name. The ordering of values is not important.

Complex types : When a property expects another data item, you can add the value one of three ways.

  1. Refer to ID of the data item by specifying its URI
  2. If only one sub-data item is expected, specify the property path using a “”.”” separator, e.g. address.streetAddress
  3. If many sub-data items is expected, add values for the data item using one of the prescribed formats that use the ~ to mark separation between the expected fields. Append a number value at the end of the primary entity’s property. E.g. Products may have multiple reviews, use review1, review2, review3 to create multiple data items. Each review will have tilda separated list of values specified in the “”Subdata Items, Expected Fields”” worksheet.
  4. Adding a Text if you only want to refer to the data item with a “

Download the Completed Schema App Template Worksheet as a Tab Delimited Value file. Rename file to .csv

Step 4: Upload the completed File to Schema App

Go to the Schema App Bulk Upload page.   Select your customer.  Select the type of upload you want to do (Product or Organization). Select your file. Click File Upload.

You will need your file to be saved as a Tab Delimited File. Make sure that when you save your template prior to upload, that it is saved in this format.