Google sheets plugin for campaign planning

Oct 16, 2024 · Ravdeep Singh

Google sheets is core to campaign planning and translation workflows for nearly all current / potential customers of Wafrow. This includes places I've worked at in a past life. There are 3 main reasons this is the case,

  1. Access management: Copywriters are often external employees or operate across multiple surface areas (facebook ads, emails, landing pages) which don't seamlessly talk to each other.
  2. Annotations: It is simple to leave unstructured instructions in Sheets around tone of voice and campaign context of how the copy will be used like an artboard that spurs creative output.
  3. Google Translate: Having a translate function gives people a first draft to improve upon. This is a significant productivity improvement when in a rush than starting from zero.

Following this maxim of being where our customers are already operating, I've launched a Google Sheets plugin that works pretty much like Google Translate, arguably a bit better.

2 variants: Creative and Translation

As with the core product since last week, there are two functions available for use:

  1. Translate API: Stay close to the original string and translate input given the context of where it will be used.
  2. Creative API: Colour slightly outside the boundaries and share variants that can be AB tested against an input

In case you haven't experienced this with Wafrow, the difference is like this: Screengrab of Wafrow Google sheets extension showing creative and translate APIs

Wafrow translate borrows context, tone of voice and grammar from your own landing pages while staying true to branding elements like coupon codes, occassions and names. You can observe the stark difference with Google Translate not maintaining brand elements (coupon codes) or losing your website's unique text formatting rules e.g., initial case (capitalizing the first letter) on hellofresh.com or sometimes switching between formal / informal.

In comparison, Wafrow creative uses ecommerce best practices and your own past campaigns that have worked to maintain ~90% of the intent and tries to maximize conversion impact. It is a helpful sparring partner in drafting core copy better.

Installing the plugin

More detailed instructions to install with a video are available in the onboarding dashboard. There are 2 small steps:

  1. Create an API token in the dashboard settings. You can do this once you signup for the trial.
  2. Copy over the two functions into your google sheets appscript with your personal access tokens. The translate function is similar and uses https://wafrow.com/api/getTranslation.
function wafrowAI(prompt, language, pageURL, personalization) {

  var apiToken = YOUR_PERSONAL_TOKEN; // Copy the actual token from the dashboard
  // API endpoint URL
  var url = 'https://wafrow.com/api/getAlternative';
  
  // Set up the API request
  var options = {
    'method': 'post',
    'headers': {
      'Authorization': 'Bearer ' + apiToken,
      'Content-Type': 'application/json'
    },
    'payload': JSON.stringify({ 'prompt': prompt, 'lang': language, 'pageURL': pageURL, 'personalizationVariable' : personalization})
  };
  
  try {
    // Make the API request
    var response = UrlFetchApp.fetch(url, options);
    var result = JSON.parse(response.getContentText());
    
    // Process and return the result
    return result.data;
  } catch (error) {
    return 'Error: ' + error.toString();
  }
}

Limitations for free users

As a user who hasn't yet signed up for a plan, you can only generate 15 strings in a minute and 3500 strings per day. This is relaxed to 30 per minute and 7000 per day once you sign up for one of the paid plans. Please give it a spin and let me know at [email protected] in case you face any issues or you want this to be relaxed for your account.

Disclaimer: HelloFresh and Zalando are (currently) not users of Wafrow, I just used them as popular multi-lingual brands for explanatory reasons. I'd like them both to be so please use the form below and signup if you'd like to change this ;-)