Archive for  July 2017

Home / July 2017
1 Post

Preamble: I think that society benefits from a large number of competing ideas competing.  One of the things that stops those ideas from spreading is cost.  Large publishers have whole departments dedicated to making productions like this happen, but with the increase in freelancing, independent citizen journalists are going to need to push things out at very low cost.  I wouldn’t call myself a journalist, but I am the father of a baby girl, the owner of a social enterprise, a husband, and an Google employee. All of those things put a tax on my time and money.  This is what I have found is the simplest/cheapest/time effective way to start a podcast.  A few fellow podcasters have asked about it, so I made a guide to how I make How Do We Make It Better. I will try to use this guide myself, and add more optimizations as I find them.

  • Recording-free: 
    • Zencastr: this service stores a local version of the audio on both computers, and then interlaces them/levels the sound automatically after pushing them to the cloud.  It then pushes the final content to Dropbox. This is great if you have an imperfect internet connection on either end. Even if if you drop packets, or slow down to a lower-quality connect then the episode is still recorded in hi-Fi. Free as long as you record less than 8hrs/mo. 
  • Post-Production-dollars per hour: 
    • Unless you don’t might coughs, ‘ums’ and ‘ahs’, we still need some humans here.  I started on and found sound4u in South Africa.  Adriaan owns a social enterprise himself, and gave me a very reasonable hourly rate to pull out ‘ums’ and ‘ahs’ and even created the intro/outro, and stinger advertisements.  I just send him the episode link from DropBox, and we’re off. 
  • Hosting-pennies: 
    • Recommended: Google Cloud Storage. In its easiest form, you just drag and drag-and-drop an episode onto the page, and create a public link.  It costs pennies per Gb depending on how many locations you would like to host it in, is lightning fast, and has no download limit (I don’t have to hear any more NPR podcasts complaining about paying for ‘bandwidth’). You will need to sign up for Google cloud (some instructions at see the section ‘BigQuery’ in Setup, the steps are the same), don’t worry, you only pay for what you use, and no matter how many listeners you have, the cost here is going to be pennies. 
    • Lesson learned, Soundcloud: I tried it, and then realized that there was a 3 hour limit (not a well-advertised fact).  I then figured out that it was over $100/yr for what is really a commodity service (file hosting).  I had to go back and destroy all of my old episodes to upload new ones (as some people subscribed by the SoundCloud RSS, I can’t abandon it completely).  If you choose to use them, then here’s a guide on how to host.  If I could do it again, I wouldn’t touch this service, but now I’m stuck, and this ads about 5 min to each production to upload…annoying. 
  • Publish process-free, but can be a time-suck unless you are careful: 
    • Upload Mp3 to Google Cloud Storage 
      • Pro Tip: get whoever is doing your audio processing to upload it directly to a storage bucket, check it over, and then copy it to the final storage bucket you need. This saves,1-2 min of upload time.
    • Create Episode 
      • I use seriously simple podcasting add-on for WordPress (free), if you don’t use wordpress, then you’ll have to find another provider
      • Lesson Learned: Unless you create an episode icon, not all sharing services will pick up that there is an image on that episode, this hurts CTR, and makes the default image pop up on, Mixcloud/Soundcloud (more info on them below). If you care about this (and I did because I spent $10 bucks for a guy on freelancer to make my logo, and sunk-cost fallacy be damned I want to put it out there) then you need to upload an episode icon, or your regular podcast icon each time, in my case this link
    • Wait a few hours for Mixcloud to import, or schedule podcast to publish while you sleep, and they’ll be sorted out when you wake up 
      • Mixcloud is FREE, and UNLIMITED, but won’t let you/users download, so you can’t use it for hosting.
      • Lessons learned: you can upload manually to Mixcloud, but if you fill out their simple Google form here, then they will do it for you, that’s about 5 min saved each time… 
    • Take Mixcloud embed and put it in the show notes (note that this is no longer needed at Seriously simple Podcasting has an embedded player that you don’t have to manually insert) 
      • Lesson learned: While you are there, always post the subscription link into the show notes and at the base of mixcloud/soundcloud e.g. 
        • Subscribe and see all episodes at or link
        • If you don’t do this, then when your podcast is re-broadcast and posted up by the half dozen re-syndication places then people will not know where to go to get the real one, not so bad unless you change something… 
      • Lesson Learned: you might think, as I did, that the  nature of a podcast removes the need for a desktop player.  I thought that too, but a remarkably-large number of people listen on my blog. I know at least  some of them are skipping work, but want to appear productive by sitting at their computers. 
    • Upload to Soundcloud 
      • Lesson learned: See above, if I could avoid this, then I would, but unfortunately, I started here, and now I have to if I want to keep followers/subscribers up to date. 
    • Share the post with the addtoanybutton 
      • Lesson learned: If you don’t do this, and share episode links from another hosting providers/web players, then if you choose to change them you’ll have a bunch of dead links (as I did for my first few episodes) 
    • Share the post on Mailchimp 
      • I just copy the post from the podcast. I should note that the Mixcloud embed player is pulled out when I post, so you need to keep a link to the post itself in the email.
  • Analyze and Optimize using Cloud Storage, BigQuery and Google Sheets-pennies or less: 
    • Preamble: I work on Google Analytics, so this part is near and dear to my heart, unfortunately, there’s no way (yet) with Google Analytics to directly track downloads of a given file by an RSS feed, so we need to look at the download logs.  This isn’t a perfect solution as podcasts get picked up and rebroadcasted all over the place, but it’s what we’ve got. OK, this section, might seem a bit technical, but I promise, it isn’t that bad. If this is not explicit enough, then just let me know in the comments, and I can give you click-by-click instructions. 
    • Implement the instructions here  here is a breakout of a few of the more tricky steps 
      • Take json schema and upload it to a cloud storage bucket and make publicly accessible (or skip this step and use the copy I made here
      • Get the json schema by going to cloud shell and typing $ wget
      • Create the database: Paste this code into cloud shell after chaning the storage bucket to match your own: $ bq load –skip_leading_rows=1 storageanalysis.usage \  gs://podcastlogstorage/howdowemakeitbetter_usage_2017* \  ./cloud_storage_usage_schema_v0.json.1 
    • Go to  and check out how you are doing.  If you don’t know SQL, then here is a useful starter query: 
      • If you are not comfortable with SQL, then after the query runs, just download it for analysis in as a Google sheet.  If you would like to learn more about SQL, then I have a starter guide to SQL in Bigquery at
    • Google sheets is a nice way to look at these because if allows you to pull in data about all of the IP addresses that have been downloading your podcast, see this little guide here and create the two cells in yellow.  On many hosting providers, this is one of the key selling propositions, but here, it is totally free. 
      • Aside, you can do this by trying to upload IP  databases with Geo information and doing a join.  I tried this,  but it was a big pain.  The trouble here is that they change pretty frequently, and the match is very rarely exact (it’s generally within a range), therefore joins on IP address are actually pretty complicated, and need a fair amount of re-uploading.  Therefore I decided to just do this in spreadsheets and let someone else do the  work. 
    • New  Bonus: I wanted  to visualize this in some way outside of a pivot table, and put together this simple data Studio report.   To do it you just do the following:
      • connect your sheet to the datastudio report
      • Take your sc_referrer (which is in bytes) and divide by 1M,  this will give you Megabits, which you can closely (though not perfectly) interpret to give you megabytes,
      • You can closely divide that by the number of megabytes per episode, and that will give you downloads.   You could do this in BigQuery.  Just  depends how refined you want your data to be before you push it into your visualization platform.
      • If you would like to see this report below directly in DataStudio, then you can see it here

Links where I started:

  • this is fine, but I didn’t find that it added much value.
  • I use this mic that he recommends (see aforementioned comment about having a child/better things to spend money on).
  • Random Lesson learned: I tried to used to redirect to the episode content to determine where the episodes were being downloaded.  I found that was the referrals (technically  302 redirects) were unreliable on a lot of clients, and this was timing out episodes.  Not a good user experience.  This is why I think doing it directly from your storage logs is perferable.


Interesting stuff since the last post