<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://bridgetownrb.com/" version="1.3.4">Bridgetown</generator><link href="https://davidturnbull.co/feed.xml" rel="self" type="application/atom+xml" /><link href="https://davidturnbull.co/" rel="alternate" type="text/html" /><updated>2026-02-16T09:35:48+00:00</updated><id>https://davidturnbull.co/feed.xml</id><title type="html">David Turnbull dot co</title><author><name>David Turnbull</name></author><entry><title type="html">Replacing macOS Dictation with local, Open-Source Speech-to-Text</title><link href="https://davidturnbull.co/posts/spokenly-mac-os-dicatation/" rel="alternate" type="text/html" title="Replacing macOS Dictation with local, Open-Source Speech-to-Text" /><published>2026-01-20T10:00:57+00:00</published><updated>2026-01-20T10:00:57+00:00</updated><id>repo://posts.collection/_posts/2026-01-20-spokenly-mac-os-dicatation.md</id><content type="html" xml:base="https://davidturnbull.co/posts/spokenly-mac-os-dicatation/">&lt;p&gt;&lt;a href=&quot;https://spokenly.app/&quot;&gt;Spokenly&lt;/a&gt;￼ is one of a growing number of native macOS apps that aim to replace Apple’s built-in dictation functionality. Most of these tools push you towards a subscription or one-off payment once the trial ends, but Spokenly lets you run open-source speech-to-text models locally for free.&lt;/p&gt;

&lt;p&gt;I’ve been testing it with Nvidia’s Parakeet TDT 0.6B V2 model and the speed and accuracy are a noticeable step up from Apple dictation. It feels faster, and is far less prone to the small but frequent mistakes that used to break my flow.&lt;/p&gt;

&lt;p&gt;As more and more of  my work day is spent speaking conversationally with AI tools and agents, dictation feels like a natural way to get thoughts out of my head and onto the screen. Spokenly makes that easy, so if you’re looking for a dictation tool that’s fast, accurate, and free, I recommend giving it a try.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://spokenly.app/&quot;&gt;spokenly.app&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://apps.apple.com/us/app/spokenly-voice-to-text-ai-app/id6740315592?platform=mac&quot;&gt;Mac App Store&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><author><name>David Turnbull</name></author><category term="macOS" /></entry><entry><title type="html">Setting up Lexxy, a new rich text editor for Ruby on Rails</title><link href="https://davidturnbull.co/posts/rails-lexxy-action-text-sprockets/" rel="alternate" type="text/html" title="Setting up Lexxy, a new rich text editor for Ruby on Rails" /><published>2025-11-07T10:00:57+00:00</published><updated>2025-11-07T10:00:57+00:00</updated><id>repo://posts.collection/_posts/2025-11-07-rails-lexxy-action-text-sprockets.md</id><content type="html" xml:base="https://davidturnbull.co/posts/rails-lexxy-action-text-sprockets/">&lt;p&gt;&lt;a href=&quot;https://github.com/basecamp/lexxy&quot;&gt;Lexxy&lt;/a&gt; is a new rich text editor for Action Text from the team at &lt;a href=&quot;https://dev.37signals.com/announcing-lexxy-a-new-rich-text-editor-for-rails/&quot;&gt;37signals&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It’s designed as a replacement for &lt;a href=&quot;https://github.com/basecamp/trix&quot;&gt;Trix&lt;/a&gt; and features a number of improvements, like better HTML semantics (eg. using &lt;strong&gt;&amp;lt;p&amp;gt;&lt;/strong&gt; for paragraphs rather than &lt;strong&gt;&amp;lt;div&amp;gt;&lt;/strong&gt;), markdown support, and  real-time code syntax highlighting.&lt;/p&gt;

&lt;p&gt;I’ve been having issues with Trix recently in one of my Rails apps so I decided to give Lexxy a try.&lt;/p&gt;

&lt;h2 id=&quot;installation&quot;&gt;Installation&lt;/h2&gt;
&lt;p&gt;I started by adding the gem to my Gemfile:&lt;/p&gt;

&lt;div class=&quot;language-ruby highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;gem&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;lexxy&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;~&amp;gt; 0.1.4.beta&apos;&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then running bundle:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt; bundle install
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;import-maps-and-sprockets&quot;&gt;Import maps and Sprockets&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/basecamp/lexxy&quot;&gt;Lexxy’s documentation&lt;/a&gt; outlines how to set up the gem for &lt;em&gt;import maps and Propshaft&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;My Rails app still uses &lt;em&gt;Sprockets&lt;/em&gt;, which requires a slight change to the example code for &lt;strong&gt;importmap.rb&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&quot;language-ruby highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;# importmap.rb&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;pin&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;lexxy&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;pin&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;@rails/activestorage&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;to: &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;activestorage.esm.js&quot;&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# to support attachments&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To get the gem working with Sprockets, I also needed to add the following to my &lt;strong&gt;manifest.js&lt;/strong&gt; file:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;//= link lexxy.js
//= link lexxy.css
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Import it into &lt;strong&gt;application.js&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;// app/javascript/application.js
import &quot;lexxy&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And include the css in my application layout:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# application.html.erb
&amp;lt;%= stylesheet_link_tag &quot;lexxy&quot; %&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;using-lexxy-and-trix&quot;&gt;Using Lexxy and Trix&lt;/h3&gt;
&lt;p&gt;Since Lexxy is still in early beta, I decided to test its editor on rich text fields in my app’s admin dashboard, and to continue using Trix to handle user-facing rich text.&lt;/p&gt;

&lt;p&gt;By default, Lexxy overrides Action Text form helpers like &lt;strong&gt;form.rich_text_area&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I disabled this behaviour by adding the following to &lt;strong&gt;application.rb&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&quot;language-ruby highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;lexxy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;override_action_text_defaults&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kp&quot;&gt;false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I then swapped &lt;strong&gt;form.rich_text_area&lt;/strong&gt; for &lt;strong&gt;form.lexxy_rich_text_area&lt;/strong&gt; on my form field, and added &lt;strong&gt;lexxy-content&lt;/strong&gt; to the field class to ensure the Action Text content rendered correctly.&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;%= form.lexxy_rich_text_area :body,
  placeholder: &quot;Placeholder text...&quot;,
  required: true,
  class: &quot;lexxy-content form-input&quot; %&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The last step was adding the &lt;strong&gt;lexxy-content&lt;/strong&gt; class to the field on &lt;strong&gt;show.html.erb&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;div class=&quot;lexxy-content&quot;&amp;gt;
  &amp;lt;%= @example.body %&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;wrapping-up&quot;&gt;Wrapping up&lt;/h2&gt;
&lt;p&gt;I’m impressed with what I’ve seen of Lexxy so far. It’s easier to style the rendered Action Text thanks to the HTML semantics improvements, and it’s great to be able to paste markdown straight in to the editor.&lt;/p&gt;

&lt;p&gt;I look forward to fully replacing Trix once the gem reaches a stable release.&lt;/p&gt;</content><author><name>David Turnbull</name></author><category term="ruby_on_rails" /><category term="web_dev" /></entry><entry><title type="html">Quick tweaks to improve Ahoy analytics data</title><link href="https://davidturnbull.co/posts/ahoy-tweaks-rails-8/" rel="alternate" type="text/html" title="Quick tweaks to improve Ahoy analytics data" /><published>2025-06-16T10:00:57+00:00</published><updated>2025-06-16T10:00:57+00:00</updated><id>repo://posts.collection/_posts/2025-06-16-ahoy-tweaks-rails-8.md</id><content type="html" xml:base="https://davidturnbull.co/posts/ahoy-tweaks-rails-8/">&lt;p&gt;&lt;a href=&quot;https://github.com/ankane/ahoy&quot;&gt;Ahoy&lt;/a&gt; is a popular analytics gem that I use to track site visits and events in my Ruby on Rails apps.&lt;/p&gt;

&lt;p&gt;The gem is &lt;a href=&quot;https://github.com/ankane/ahoy&quot;&gt;well-documented&lt;/a&gt;, so I’m not going to walk through the setup here. But the quality of your analytics is only as good as the quality of your data – &lt;em&gt;garbage in, garbage out&lt;/em&gt; – so I make a few tweaks to try and ensure the data is clean and usable.&lt;/p&gt;

&lt;h2 id=&quot;visits&quot;&gt;Visits&lt;/h2&gt;
&lt;p&gt;Ahoy creates a &lt;code class=&quot;highlighter-rouge&quot;&gt;visit&lt;/code&gt; when someone lands on your site. By default, visits are generated server-side, which can cause a few problems.&lt;/p&gt;

&lt;h3 id=&quot;controller-actions&quot;&gt;Controller actions&lt;/h3&gt;
&lt;p&gt;Some controller actions shouldn’t be recorded as visits at all. You can skip visit tracking in specific controllers by adding:&lt;/p&gt;

&lt;div class=&quot;language-ruby highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;skip_before_action&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:track_ahoy_visit&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;bot-requests-disabled-cookies&quot;&gt;Bot requests, disabled cookies&lt;/h3&gt;
&lt;p&gt;Server-side visit tracking can also lead to bot requests recorded as visits, or multiple visits recorded for users with cookies disabled.&lt;/p&gt;

&lt;p&gt;You can avoid this by setting &lt;code class=&quot;highlighter-rouge&quot;&gt;server_side_visits&lt;/code&gt;to &lt;code class=&quot;highlighter-rouge&quot;&gt;:when_needed&lt;/code&gt;, which defers visit tracking to JavaScript and only create visits server-side when they are needed by events.&lt;/p&gt;

&lt;div class=&quot;language-ruby highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;# Add to your Ahoy inializer&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt;Ahoy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;server_side_visits&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:when_needed&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;active-storage-hits&quot;&gt;Active Storage hits&lt;/h3&gt;
&lt;p&gt;Serving images or files with Active Storage can also trigger Ahoy visits. You can prevent this by stripping cookies from these requests with the &lt;a href=&quot;https://github.com/icoretech/rack-strip-cookies&quot;&gt;rack-strip-cookies&lt;/a&gt; gem:&lt;/p&gt;

&lt;p&gt;Add to your Gemfile:&lt;/p&gt;
&lt;div class=&quot;language-ruby highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt; &lt;span class=&quot;n&quot;&gt;gem&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;rack-strip-cookies&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;~&amp;gt; 2.0.0&apos;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then in application.rb:&lt;/p&gt;

&lt;div class=&quot;language-ruby highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;# prevent ahoy from tracking visits on Active Storage calls&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;middleware&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;insert_before&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;no&quot;&gt;ActionDispatch&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Cookies&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; 
    &lt;span class=&quot;no&quot;&gt;Rack&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;StripCookies&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; 
    &lt;span class=&quot;ss&quot;&gt;paths: &lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;%w[
      /rails/active_storage/representations/proxy
      /rails/active_storage/blobs/proxy
    ]&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;events&quot;&gt;Events&lt;/h2&gt;
&lt;h3 id=&quot;event-names&quot;&gt;Event names&lt;/h3&gt;
&lt;p&gt;While this isn’t really a ‘tweak’, I always make sure to follow a consistent naming system for my analytics events. This makes my dashboards and reports more intuitive, and avoids a mess of duplicates like ‘cart_created’, ‘CartCreated’, ‘created_cart’.&lt;/p&gt;

&lt;p&gt;I like to follow the &lt;a href=&quot;https://segment.com/academy/collecting-data/naming-conventions-for-clean-data/&quot;&gt;object–action framework&lt;/a&gt;: &lt;em&gt;Project Created&lt;/em&gt;, &lt;em&gt;User Invited&lt;/em&gt;, &lt;em&gt;Article Updated&lt;/em&gt;, and so on. The naming convention doesn’t need to be clever, it just needs to be consistent and predictable.&lt;/p&gt;</content><author><name>David Turnbull</name></author><category term="ruby_on_rails" /><category term="web_dev" /><category term="analytics" /></entry><entry><title type="html">A few of my favourite things: 2023</title><link href="https://davidturnbull.co/posts/a-few-of-my-favourite-things-2023/" rel="alternate" type="text/html" title="A few of my favourite things: 2023" /><published>2023-12-22T15:00:57+00:00</published><updated>2023-12-22T15:00:57+00:00</updated><id>repo://posts.collection/_posts/2023-12-22-a-few-of-my-favourite-things-%5B2023%5D.md</id><content type="html" xml:base="https://davidturnbull.co/posts/a-few-of-my-favourite-things-2023/">&lt;p&gt;It’s time for another roundup of the books, audiobooks, podcasts and apps that I’ve enjoyed over the past year (&lt;em&gt;previous roundups: &lt;a href=&quot;https://davidturnbull.co/posts/my-favourite-things-2017/&quot;&gt;2017&lt;/a&gt;, &lt;a href=&quot;https://davidturnbull.co/posts/my-favourite-things-2019/&quot;&gt;2019&lt;/a&gt;&lt;/em&gt;).&lt;/p&gt;

&lt;h2 id=&quot;books&quot;&gt;Books&lt;/h2&gt;

&lt;p&gt;The bulk of my reading this year was focused around study and research for work and some family medical issues.&lt;/p&gt;

&lt;h3 id=&quot;caesar-life-of-a-colossus-andrew-roberts&quot;&gt;Caesar: Life of a Colossus (Andrew Roberts)&lt;/h3&gt;
&lt;p&gt;When I did have the chance to read for pleasure, I enjoyed Andrew Robert’s detailed biography of Julius Caesar.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://www.amazon.com/Caesar-Life-Colossus-Adrian-Goldsworthy/dp/0300126891/ref=sr_1_1?crid=33Y7A2WTMEEHP&amp;amp;keywords=caesar&amp;amp;qid=1703256529&amp;amp;s=books&amp;amp;sprefix=caesa%2Cstripbooks-intl-ship%2C312&amp;amp;sr=1-1&quot;&gt;Caesar: Life of a Colossus&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;going-infinite-michael-lewis&quot;&gt;Going Infinite (Michael Lewis)&lt;/h3&gt;
&lt;p&gt;Going Infinite follows the rise and fall of Sam Bankman-Fried and his company FTX. It’s an interesting book, but I agree with many reviews that Lewis was less critical of Sam Bankman-Fried’s behaviour than I would have expected.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://www.amazon.com/Going-Infinite-Rise-Fall-Tycoon/dp/1324074337&quot;&gt;Going Infinite&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;audiobooks&quot;&gt;Audiobooks&lt;/h2&gt;

&lt;h3 id=&quot;billionaires-row-katherine-clarke&quot;&gt;Billionaire’s Row (Katherine Clarke)&lt;/h3&gt;

&lt;p&gt;Katherine Clarke investigates the men behind the ultra-luxury skyscrapers that have sprung up around New York’s Central Park in the past decade.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://www.audible.co.uk/pd/Billionaires-Row-Audiobook/B0BJ5B43Z8&quot;&gt;Billionaire’s Row&lt;/a&gt; (Katherine Clarke)&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;a-very-english-scandal-john-preston&quot;&gt;A Very English Scandal (John Preston)&lt;/h3&gt;

&lt;p&gt;The story of the downfall of Jeremy Thorpe, the first British politician to stand trial for murder. I didn’t know anything about this case before listening to this audiobook, but found the story fascinating.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://www.audible.co.uk/pd/A-Very-English-Scandal-Audiobook/B01ES439TW&quot;&gt;A Very English Scandal&lt;/a&gt; by John Preston&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;podcasts&quot;&gt;Podcasts&lt;/h2&gt;

&lt;h3 id=&quot;dwarkesh-podcast&quot;&gt;Dwarkesh Podcast&lt;/h3&gt;

&lt;p&gt;Dwarkesh Patel interviews experts on a wide range of topics including AI, economics, mathematics and politics.&lt;/p&gt;

&lt;p&gt;Some interesting recent guests include the always controversial &lt;a href=&quot;https://www.dwarkeshpatel.com/p/dominic-cummings&quot;&gt;Dominic Cummings&lt;/a&gt; ; &lt;a href=&quot;https://www.dwarkeshpatel.com/p/sarah-paine&quot;&gt;Sarah C. M. Paine&lt;/a&gt;, the Professor of History and Strategy at the US Naval War College; and &lt;a href=&quot;https://www.dwarkeshpatel.com/p/shane-legg&quot;&gt;Shane Legg&lt;/a&gt;, Founder of DeepMind.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://www.dwarkeshpatel.com/&quot;&gt;Dwarkesh Podcast&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;founders-podcast-with-david-senra&quot;&gt;Founders podcast with (David Senra&lt;/h3&gt;

&lt;p&gt;Each week, David Senra shares notes and takeaways from reading biographies of “history’s greatest entrepreneurs”. It’s a simple premise, but Senra’s knowledge and enthusiasm combine to make it a compelling listen. I particularly enjoyed his episodes on &lt;a href=&quot;https://www.founderspodcast.com/episodes/67390608/senra-michael-jordanthe-life&quot;&gt;Michael Jordan&lt;/a&gt;, &lt;a href=&quot;https://www.founderspodcast.com/episodes/99804940/senra-bernard-arnault-the-taste-of-luxury&quot;&gt;Bernard Arnault&lt;/a&gt; and &lt;a href=&quot;https://www.founderspodcast.com/episodes/75127281/senra-bill-gates-microsofts-beginnings&quot;&gt;Bill Gates&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://www.founderspodcast.com/&quot;&gt;Founders (David Senra)&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;apps&quot;&gt;Apps&lt;/h2&gt;

&lt;h3 id=&quot;raycast-macos&quot;&gt;Raycast (MacOS)&lt;/h3&gt;

&lt;p&gt;Raycast is a free replacement for MacOS spotlight, adding far more capabilities to your CMD-space hotkey. I use it to search for files, play and pause music, convert text, set countdown “pomodoro” style timers, add events to my calendar, and much more.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://www.raycast.com/&quot;&gt;Raycast&lt;/a&gt; (MacOS)&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;rectangle-macos&quot;&gt;Rectangle (MacOS)&lt;/h3&gt;

&lt;p&gt;A simple app that allows me to quickly move and resize my MacOS windows using keyboard shortcuts.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://rectangleapp.com/&quot;&gt;Rectangle&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;eagle-macos&quot;&gt;Eagle (MacOS)&lt;/h3&gt;

&lt;p&gt;Eagle is an image organisation app that allows you to “collect, search and organize your design files in a logical way”. It comes with a powerful browser extension that let me take instant screenshots of entire browser pages, or individual page components. I primarily use the app to collect and organise marketing and web design inspiration images.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://en.eagle.cool/&quot;&gt;Eagle&lt;/a&gt; (MacOS)&lt;/em&gt;&lt;/p&gt;</content><author><name>David Turnbull</name></author><category term="books" /><category term="podcasts" /><category term="gear" /></entry><entry><title type="html">The Essential Mix 30</title><link href="https://davidturnbull.co/posts/the-essential-mix-30/" rel="alternate" type="text/html" title="The Essential Mix 30" /><published>2023-12-09T13:40:55+00:00</published><updated>2023-12-09T13:40:55+00:00</updated><id>repo://posts.collection/_posts/2023-12-10-the-essential-mix-30.md</id><content type="html" xml:base="https://davidturnbull.co/posts/the-essential-mix-30/">&lt;p&gt;As part of &lt;a href=&quot;https://www.bbc.co.uk/programmes/p0gqmfzd&quot;&gt;BBC Radio 1’s 30 years of the Essential Mix&lt;/a&gt; celebrations, host Pete Tong and a select panel have picked 30 of their favourite mixes from the previous 30 years.&lt;/p&gt;

&lt;p&gt;If you’re not familiar with the Essential Mix, it’s a weekly radio show where an artist presents a 2 hour uninterrupted mix set. The mixes cover a wide range of electronic genres, from commercial dance music to rising underground stars.&lt;/p&gt;

&lt;p&gt;An Essential Mix is a significant career milestone for many artists, so they are usually put a lot of thought and attention into their mix. It’s common for artists to include tracks that are meaningful to them, even if the track is outside of the genre they are typically known for playing.&lt;/p&gt;

&lt;p&gt;I started listening to the Essential Mix more than 20 years ago. As an electronic-music obsessed teenager living in Nelson, New Zealand, it was a weekly gateway to a world of DJs and music that was otherwise out of reach.&lt;/p&gt;

&lt;p&gt;My musical tastes have evolved over the years, but I still check the latest Essentail Mix release every Sunday morning. The show continues to expose me to new genres and DJs, and if I’m not keen on a particular mix, I can always fire up a set from my long playlist of classic mixes.&lt;/p&gt;

&lt;h2 id=&quot;my-essential-mix-30-highlights&quot;&gt;My Essential Mix 30 highlights&lt;/h2&gt;
&lt;p&gt;So, back to the Essential Mix 30.&lt;/p&gt;

&lt;p&gt;Pete Tong and his panel have selected some fantastic mixes. My favourites from their shortlist include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.bbc.co.uk/programmes/m000k82m&quot;&gt;Above &amp;amp; Beyond (2004)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.bbc.co.uk/programmes/m001hc01&quot;&gt;Eric Prydz (2013)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.bbc.co.uk/sounds/play/m001nlnj&quot;&gt;Goldie (1996)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.bbc.co.uk/programmes/m000lznl&quot;&gt;High Contrast (2003)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.bbc.co.uk/programmes/m000n5qn&quot;&gt;Jamie xx (2011)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.bbc.co.uk/sounds/play/m00173jb&quot;&gt;Nicolas Jaar (2012)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.bbc.co.uk/programmes/m000zbmn&quot;&gt;Tiësto (2001)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;further-recommendations&quot;&gt;Further recommendations&lt;/h2&gt;
&lt;p&gt;As I mentioned, I have a long playlist of classic Essential Mixes that are still on heavy rotation. It includes many artists and genres that fall outside of what I regularly listen to, but have still managed to click with me for various reasons.&lt;/p&gt;

&lt;p&gt;These are some of my favourite mixes:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/rave_on/armin-van-buuren-live-essential-mix-24122006&quot;&gt;Armin van Buuren (2006)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/artyessential/arty-bbc-radio-1-essential-mix&quot;&gt;Arty (2012)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/barry-connell-collection/barry-connell-radio-1-essential-mix-live-the-arches-glasgow-19408&quot;&gt;Barry Connell (2008)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/ben-bohmer/bbc-radio-1-essential-mix&quot;&gt;Ben Bohmer (2021)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/culture-shock/essential-mix&quot;&gt;Culture Shock (2021)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/t-zoomzoom/london-elektricity-essential-mix-11082008-remaster&quot;&gt;London Elektricity (2008)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/iridiumdj/2021-06-12-essential-mix&quot;&gt;London Grammar (2021)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/ladah/1994-12-11-em-massive-attack-essential-mix-one-fm&quot;&gt;Massive Attack - (1994)&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/nero/nero-essential-mix-first&quot;&gt;Nero (2010)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/patrice-baumel/bbc-essential-mix-2392017-clean-version&quot;&gt;Patrice Bäumel (2017)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/dobchef/paul-kalkbrenner-essential-mix&quot;&gt;Paul Kalkbrenner (2011)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/porter-robinson/porter-robinson-bbc-radio-1-2-hour-essential-mix&quot;&gt;Porter Robinson (2014)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/iridiumdj/essential-mix-2006-12-17&quot;&gt;Sharam (2006)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/yotto/essential-mix-bbc-radio-1&quot;&gt;Yotto (2018)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://soundcloud.com/zedsdead/essential-mix-02-03-2013&quot;&gt;Zed’s Dead (2013)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><author><name>David Turnbull</name></author><category term="music" /></entry><entry><title type="html">Likes won’t keep the lights on</title><link href="https://davidturnbull.co/posts/likes-dont-keep-the-lights-on/" rel="alternate" type="text/html" title="Likes won&apos;t keep the lights on" /><published>2023-10-06T20:09:57+00:00</published><updated>2023-10-06T20:09:57+00:00</updated><id>repo://posts.collection/_posts/2023-10-06-likes-wont-keep-the-lights-on.md</id><content type="html" xml:base="https://davidturnbull.co/posts/likes-dont-keep-the-lights-on/">&lt;p&gt;Jane publishes two LinkedIn posts:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Post A&lt;/strong&gt; received 10,000 impressions, 40 likes and 22 comments.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Post B&lt;/strong&gt; received 250 impressions, 4 likes and 2 comments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which post performed better, A or B?&lt;/p&gt;

&lt;p&gt;The truth is, we don’t know. We don’t have enough information.&lt;/p&gt;

&lt;p&gt;Well, that’s not entirely true. From the perspective of &lt;a href=&quot;https://linkedin.com/&quot;&gt;LinkedIn&lt;/a&gt;, the social media platform, &lt;em&gt;Post A&lt;/em&gt; was the clear winner. When people engage with content – &lt;em&gt;view&lt;/em&gt;, &lt;em&gt;like&lt;/em&gt;, &lt;em&gt;comment&lt;/em&gt; and so on – they spend more time on the platform. And crucially, more time in front of advertisers. In LinkedIn’s eyes, high engagement → more time on site = winner.&lt;/p&gt;

&lt;p&gt;But Jane doesn’t work for LinkedIn. Publishing a post that receives thousands of views and likes may give her a warm feeling of accomplishment, but it won’t necessarily drive sign ups or improve her company’s bottom line.&lt;/p&gt;

&lt;h2 id=&quot;vanity-metrics&quot;&gt;Vanity metrics&lt;/h2&gt;

&lt;p&gt;Impressions, page views, followers, and likes are &lt;strong&gt;vanity metrics&lt;/strong&gt; – they look nice, and it feels good when they improve, but they don’t provide us with insightful information. You may be happy to see that last week’s post received 20 likes, but those likes won’t cover next month’s payroll.&lt;/p&gt;

&lt;p&gt;And that’s how vanity metrics can lead you astray. You think you’re doing well because your follower count is increasing or your posts are getting likes, but you may be wasting time and resources that could be better spent elsewhere.&lt;/p&gt;

&lt;p&gt;You can avoid falling into the vanity metrics trap by focusing on the metrics that truly matter – those that align with your core business objectives.&lt;/p&gt;

&lt;p&gt;Instead of tracking how many likes a post receives, focus on &lt;em&gt;who&lt;/em&gt; liked it. Are they potential users of your product? Did they visit your website after viewing your post? Are they converting into new sign ups or customers?&lt;/p&gt;

&lt;p&gt;In a similar vein, don’t simply measure the size of your newsletter list. Connect it to your CRM and use a lead-enrichment tool like &lt;a href=&quot;https://clearbit.com/&quot;&gt;Clearbit&lt;/a&gt; to determine &lt;em&gt;who&lt;/em&gt; is signing up. Are they in your &lt;em&gt;ideal customer profile (ICP)&lt;/em&gt;? Are they opening your emails and clicking on the links?&lt;/p&gt;

&lt;p&gt;It takes time to create good content, and for startups, time is in very short supply. So remember: a room of qualified, motivated prospects is far more valuable than a stadium of people randomly picked from the street. If you’re going to invest your time and energy into marketing activities, make sure they’re the &lt;em&gt;right&lt;/em&gt; activities.&lt;/p&gt;

&lt;p&gt;Skip the vanity metrics, and focus on things that matter.&lt;/p&gt;</content><author><name>David Turnbull</name></author><category term="marketing" /></entry><entry><title type="html">The true cost of ‘free’ marketing audits</title><link href="https://davidturnbull.co/posts/free-marketing-audits/" rel="alternate" type="text/html" title="The true cost of &apos;free&apos; marketing audits" /><published>2023-09-19T20:28:38+00:00</published><updated>2023-09-19T20:28:38+00:00</updated><id>repo://posts.collection/_posts/2023-09-19-true-cost-of-free-marketing-audits.md</id><content type="html" xml:base="https://davidturnbull.co/posts/free-marketing-audits/">&lt;blockquote&gt;
  &lt;p&gt;Get your free marketing audit&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You’ve probably seen similar offers while browsing for tips on how to market your startup. Before you fill out that form, let me explain why free marketing audits are not the generous offer they claim to be.&lt;/p&gt;

&lt;h2 id=&quot;why-do-marketing-agencies-offer-free-audits&quot;&gt;Why do marketing agencies offer free audits?&lt;/h2&gt;

&lt;p&gt;Free audits are a lead-generation tool for agencies. They provide you with information (the results of an audit), in exchange for your contact details.&lt;/p&gt;

&lt;p&gt;Trading for information isn’t an inherently bad deal, provided the information you receive has value. But therein lies the problem. The information you receive in a free audit is generally &lt;em&gt;not valuable&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;A marketing audit is supposed to help you find holes in your marketing strategy, systems, tools, tactics and processes. You can then use the information to create a plan to fix them.&lt;/p&gt;

&lt;p&gt;But a thorough marketing audit, one that can genuinely help your business, requires two critical components that are missing in free audits: &lt;strong&gt;access&lt;/strong&gt; and &lt;strong&gt;time&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;access-is-essential&quot;&gt;Access is essential&lt;/h2&gt;

&lt;p&gt;For the results of a marketing audit to be meaningful, the auditor will require access to your team, data, reports, marketing software and so on.&lt;/p&gt;

&lt;p&gt;Are you prepared to hand all of your company’s confidential data over to someone you barely know? Hopefully not! But if the auditor can’t access this data, it’s impossible for them to do the job properly. It’s like an electrician walking around the outside of your house and then claiming to know what’s wrong with the wiring. Would you trust their assessment?&lt;/p&gt;

&lt;p&gt;Yes, you may receive your “free detailed report”. But the information isn’t useful.&lt;/p&gt;

&lt;h2 id=&quot;good-things-take-time&quot;&gt;Good things take time&lt;/h2&gt;

&lt;p&gt;A marketing audit isn’t supposed to be a quick look-over. It’s a diagnostic process that requires thorough investigation and strategic understanding to provide useful findings.&lt;/p&gt;

&lt;p&gt;The process takes time, and much more than an agency can afford to assign to senior strategists who should be busy with paid client work.&lt;/p&gt;

&lt;p&gt;So what do they do? They automate the process or delegate it to less-experienced team members. Either way, it’s a shortcut that sacrifices quality for speed – &lt;strong&gt;at your expense&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id=&quot;exceptions-that-prove-the-rule&quot;&gt;Exceptions that prove the rule&lt;/h2&gt;

&lt;p&gt;Some agencies claim that specific audits, like an SEO audit, can be partially automated, so they can afford to offer them for free.&lt;/p&gt;

&lt;p&gt;That may be true. But if an agency is running an automated audit, you can, too. In the case of SEO, simply use one of &lt;a href=&quot;https://ahrefs.com/site-audit&quot;&gt;the&lt;/a&gt; &lt;a href=&quot;https://www.semrush.com/lp/website-audit/en/&quot;&gt;many&lt;/a&gt; &lt;a href=&quot;https://neilpatel.com/seo-analyzer/&quot;&gt;free&lt;/a&gt; tools that are available.&lt;/p&gt;

&lt;h2 id=&quot;misaligned-incentives&quot;&gt;Misaligned incentives&lt;/h2&gt;

&lt;p&gt;If you do accept an audit, consider the auditor’s motivations as you check their list of recommendations. If you’re dealing with a content marketing agency, don’t be surprised to hear that you need to boost your content marketing efforts.&lt;/p&gt;

&lt;p&gt;Their analysis may not be wrong, but it’s probably one-sided. A comprehensive audit should help you prioritise your overall marketing strategy, not favour one component of it.&lt;/p&gt;

&lt;h2 id=&quot;audits-are-useful&quot;&gt;Audits &lt;em&gt;are&lt;/em&gt; useful&lt;/h2&gt;

&lt;p&gt;When working with clients, I generally start the engagement with an audit-like period of research and discovery. The goal is to ensure we can accurately diagnose issues before we start prescribing potential solutions.&lt;/p&gt;

&lt;p&gt;I would never claim that this process can be done at no cost or within 24 hours. It digs deep into a company and its products, interviewing the team and analysing strategies, tactics, tools, systems, and processes across marketing, sales, operations, and user experience.&lt;/p&gt;

&lt;p&gt;This research takes time, but it allows me to devise holistic strategies tailored to a company’s requirements, and that’s far more useful than a one-size-fits-all report that was generated in minutes.&lt;/p&gt;

&lt;h2 id=&quot;the-true-cost-of-a-free-marketing-audit&quot;&gt;The true cost of a free marketing audit&lt;/h2&gt;

&lt;p&gt;If a “free” audit provides you with zero actionable insights, then it isn’t free. &lt;strong&gt;You simply paid with your time&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Don’t shortchange your business with surface-level insights. The future of your company is worth the time and attention that only comprehensive, in-depth analysis can provide.&lt;/p&gt;</content><author><name>David Turnbull</name></author><category term="marketing" /><category term="startups" /></entry><entry><title type="html">How cargo cult growth hurts early-stage startups</title><link href="https://davidturnbull.co/posts/cargo-cult-growth/" rel="alternate" type="text/html" title="How cargo cult growth hurts early-stage startups" /><published>2023-06-27T08:15:16+00:00</published><updated>2023-06-27T08:15:16+00:00</updated><id>repo://posts.collection/_posts/2023-06-27-how-cargo-cult-growth-hurts-early-stage-startups.md</id><content type="html" xml:base="https://davidturnbull.co/posts/cargo-cult-growth/">&lt;!-- ## Table of Contents
{:.no_toc}
* …
{:toc}
 --&gt;

&lt;p&gt;You’re struggling to gain traction. You’ve been researching the competition, trying to reverse engineer the strategies and tactics they used to reach their dominant market positions. You’ve taken what you learned and carefully implemented it at your startup.&lt;/p&gt;

&lt;p&gt;But all your hard work barely moved the needle, because you fell into the &lt;strong&gt;cargo cult growth&lt;/strong&gt; trap.&lt;/p&gt;

&lt;h2 id=&quot;cargo-cults&quot;&gt;Cargo cults&lt;/h2&gt;

&lt;p&gt;Wikipedia &lt;a href=&quot;https://en.wikipedia.org/wiki/Cargo_cult&quot;&gt;describes a cargo cult&lt;/a&gt; as “&lt;em&gt;a belief system among members of a relatively undeveloped society in which adherents practice superstitious rituals hoping to bring modern goods supplied by a more technologically advanced society.&lt;/em&gt;”&lt;/p&gt;

&lt;p&gt;Or to put it more simply: “We want what they have, so we’ll do what they do, even though we don’t understand why they are doing it.”&lt;/p&gt;

&lt;p&gt;The concept began with literal cargo, but it’s a useful way to describe the growth initiatives of many early-stage startups. Founders search for the strategies and tactics used at larger, more successful companies, and attempt to apply them at their own company.&lt;/p&gt;

&lt;p&gt;And the cargo culting begins.&lt;/p&gt;

&lt;p&gt;The founders are attempting to &lt;em&gt;copy the actions&lt;/em&gt; of the more successful company, but they &lt;em&gt;don’t understand the context&lt;/em&gt; that lies behind those actions. And like the original cargo cults, they will inevitably be disappointed when their efforts don’t achieve the desired results.&lt;/p&gt;

&lt;h2 id=&quot;cargo-cult-growth-an-example&quot;&gt;Cargo cult growth: an example&lt;/h2&gt;

&lt;h4 id=&quot;placing-content-behind-a-registration-wall-to-increase-user-sign-ups&quot;&gt;&lt;strong&gt;Placing content behind a registration wall to increase user sign ups&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;https://www.quora.com/&quot;&gt;Quora&lt;/a&gt; is a popular platform that allows users to ask and answer questions on a diverse range of topics. This content has historically ranked highly on Google search results pages (SERPs), supplying Quora with a large volume of organic traffic at relatively low cost.&lt;/p&gt;

&lt;p&gt;If you visit Quora today, you’ll soon hit a &lt;strong&gt;registration wall&lt;/strong&gt;, a popup modal that forces you to sign up for an account to continue viewing content.&lt;/p&gt;

&lt;div class=&quot;not-prose rounded-sm flex flex-col gap-2 justify-items-center my-12&quot;&gt;
&lt;img src=&quot;/images/blog/cargocult/quora.jpeg&quot; class=&quot;&quot; /&gt;
&lt;!-- &lt;span class=&quot;italic text-center&quot;&gt;Example of a per-channel CAC calculation&lt;/span&gt; --&gt;
&lt;/div&gt;
&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;It’s easy to look at Quora’s forced signup flow and think “That’s a great idea. We’ll get organic traffic via search, force people to sign up to view the content, then convert the free traffic into users”.&lt;/p&gt;

&lt;p&gt;But there’s a problem.&lt;/p&gt;

&lt;p&gt;Quora has a registration wall, and yes, they have been very successful at bringing in organic traffic via SEO. But placing the majority of their content behind a registration wall was &lt;em&gt;not&lt;/em&gt; the strategy that led to their initial success.&lt;/p&gt;

&lt;p&gt;Quora relies on a small subset of visitors to create the content that everyone else consumes – in this case, the questions and answers. In the early days of the platform’s life, this &lt;em&gt;user generated content (UGC)&lt;/em&gt; was freely available for all website visitors to view – no account required.&lt;/p&gt;

&lt;p&gt;Crucially, Google’s web crawlers could also read and index the content. This wealth of user-generated, crawl-able content became a valuable SEO asset, helping Quora rank highly for a large number of keywords and providing the company with a steady stream of low-cost organic traffic.&lt;/p&gt;

&lt;p&gt;How does this relate to the registration wall?&lt;/p&gt;

&lt;p&gt;Quora’s forced registration strategy was viable because they had &lt;em&gt;already&lt;/em&gt; successfully leveraged an &lt;em&gt;open content strategy&lt;/em&gt; to gain power in their market. If an early-stage founder copies the &lt;em&gt;gated content&lt;/em&gt; strategy without also successfully implementing the &lt;em&gt;open content&lt;/em&gt; strategy, they will likely be disappointed with the results, because the gated content &lt;em&gt;requires&lt;/em&gt; a steady stream of organic traffic that can convert to users for it to work effectively.&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;h2 id=&quot;how-cargo-cult-growth-damages-startups&quot;&gt;How cargo cult growth damages startups&lt;/h2&gt;

&lt;p&gt;No-one wants to cargo cult, but it is especially damaging to early-stage startups. Startup life is tough, and time and money are usually in short supply. Cargo culting usually results in us wasting both when we can least afford it.&lt;/p&gt;

&lt;p&gt;But the negative impacts can go even further.&lt;/p&gt;

&lt;p&gt;It’s frustrating to work hard and not see positive results. Over time, this frustration can turn into decreasing motivation and morale. I’ve experienced enough periods of flat or decreasing growth to know it isn’t pleasant. You’re working hard and feel like you’re doing everything correctly – after all, you’re “following best practices” – but it’s not moving the needle.&lt;/p&gt;

&lt;p&gt;When we add up the losses in time, money, morale and motivation, it’s easy to see how damaging cargo culting can be.&lt;/p&gt;

&lt;h2 id=&quot;when-inspiration-becomes-cargo-culting&quot;&gt;When inspiration becomes cargo culting&lt;/h2&gt;

&lt;p&gt;Looking to other companies for guidance or inspiration is not an inherently bad idea. Instagram successfully “borrowed” &lt;em&gt;Stories&lt;/em&gt; from Snapchat and &lt;em&gt;Reels&lt;/em&gt; feature from TikTok, and plenty of startups have grown through similar marketing channels as their competitors. What are the mistakes are we are making that lead imitation into cargo cult behavior?&lt;/p&gt;

&lt;h4 id=&quot;we-listen-to-the-wrong-experts&quot;&gt;We listen to the wrong experts&lt;/h4&gt;

&lt;p&gt;Cargo cult growth can arise from a lack of experience or expertise (more on this later), but also occurs when we take advice from the “wrong” experts.&lt;/p&gt;

&lt;p&gt;When you feel pressure to grow, it’s natural to look towards people who’ve successfully “been there and done it” already. But there are levels to the success ladder. Popular tech industry figures and experts tend to be well-known because of their prior successes and are often found working at large companies with a wealth of resources at their disposal.&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;The advice and expertise they share are often best suited to people and companies at similar levels of the ladder. It’s not that their advice is wrong, but if you’re an early-stage founder, it may simply not be relevant. You need to apply a filter when listening to advice from experts to ensure it’s applicable to your current situation.&lt;/p&gt;

&lt;h4 id=&quot;were-playing-different-games&quot;&gt;We’re playing different games&lt;/h4&gt;

&lt;p&gt;You’re more likely to hear about strategies and tactics used at large, successful companies than those used at startups that are still in the early days of their journeys. But if you’re an early-stage startup, it’s important to recognise that those large, successful companies have different goals, priorities and challenges than you.&lt;/p&gt;

&lt;p&gt;Let’s say you’re trying to gain traction or find product/market fit, while your most established competitor is busy building moats to secure their market-leading position. It wouldn’t make sense to ‘cargo cult their strategy, as a moat is only valuable when you have something to protect – and you haven’t reached that stage yet.&lt;/p&gt;

&lt;p&gt;When an early-stage startup mimics the growth activities of a larger, more successful company, it is making a mistake of scale. It is not copying the actions that made the larger company successful; it is copying the actions the larger company is taking when it is already large and successful. It’s similar to copying Warren Buffet’s current financial manoeuvrings in the hope they will make you equally rich, when the vast majority of his wealth stems from decisions and actions that he made decades ago.&lt;/p&gt;

&lt;h4 id=&quot;but-looking-back-doesnt-always-help&quot;&gt;But looking back doesn’t always help&lt;/h4&gt;

&lt;p&gt;Okay you say – time for another approach. You’ll spend time researching and discovering the strategies and tactics used by successful companies when they were early-stage startups, and then apply them in your company.&lt;/p&gt;

&lt;p&gt;Unfortunately, this approach still risks becoming cargo cult behaviour.&lt;/p&gt;

&lt;p&gt;The value of marketing channels and tactics decays over time. Strategies and tactics that worked in the past generally won’t work as well now or in the future. Andrew Chen, partner at Andreessen Horowitz, calls this &lt;a href=&quot;https://andrewchen.com/the-law-of-shitty-clickthroughs/&quot;&gt;the law of shitty clickthroughs&lt;/a&gt;, and you run into it frequently in marketing and growth.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Google Ads&lt;/em&gt; were much more effective when they launched, with low competition and cheap clicks for early adopters. Similarly, the first websites to add newsletter signup popup modals converted a huge percentage of visitors because people weren’t already overexposed to the behavior. And so on.&lt;/p&gt;

&lt;p&gt;It’s not that older strategies, tactics or marketing channels are now useless. But if we use them, we need to set realistic (which ofter means low) expectations for the results.&lt;/p&gt;

&lt;h4 id=&quot;we-make-assumptions-about-outcomes&quot;&gt;We make assumptions about outcomes&lt;/h4&gt;

&lt;p&gt;Cargo cult behavior often comes with a huge – and frequently wrong – assumption: that the strategies/tactics/growth activities we are imitating actually achieved a positive outcome.&lt;/p&gt;

&lt;p&gt;We can’t see “under the hood” at the companies we imitate. It’s easy to assume that everything is always “up to the right”, but while the public perception of their strategies and tactics may be positive, behind closed doors they may have failed.&lt;/p&gt;

&lt;p&gt;This is especially true with the tech giants. Their massive scale allows them to hide the negative impact of failed experiments to a certain extent. They can throw millions at an idea, promote it widely, then shrug their shoulders and move on if it doesn’t work. As an early-stage founder, you can’t afford that luxury.&lt;/p&gt;

&lt;h2 id=&quot;why-do-we-do-cargo-cult&quot;&gt;Why do we do cargo cult?&lt;/h2&gt;

&lt;p&gt;We’ve discussed some of the reasons why attempts at imitation can turn into cargo cult behavior. But what causes us to cargo cult growth in the first place?&lt;/p&gt;

&lt;h4 id=&quot;lack-of-knowledge&quot;&gt;Lack of knowledge&lt;/h4&gt;

&lt;p&gt;Often, it’s simply a lack of knowledge about marketing and growth. And since knowledge often comes from experience, if you haven’t worked in these areas before then it would be unfair to expect you to become an expert while you’re also busy building your product and running your business.&lt;/p&gt;

&lt;p&gt;It’s only natural to look around to see what other companies are doing. Unfortunately, if you are not able to determine which strategies and tactics apply to your business, you can easily fall into the cargo cult trap.&lt;/p&gt;

&lt;h4 id=&quot;the-need-to-succeed&quot;&gt;The need to succeed&lt;/h4&gt;

&lt;p&gt;The intense pressure to succeed can also drive cargo cult behavior. Taking your startup from 0 to 1 is an incredibly stressful process, and it’s even worse when things aren’t going to plan. You know your employees, investors and family are relying on your success. You can reach the point where you are willing to try anything, and this can lead to following strategies or advice that aren’t helpful – or worse.&lt;/p&gt;

&lt;h2 id=&quot;avoiding-the-cargo-cult-trap&quot;&gt;Avoiding the cargo cult trap&lt;/h2&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;If we want to avoid the negative outcomes of cargo culting, we need to prevent ourselves from falling into its trap.  Before diving headfirst into new marketing or growth initiates, ask yourself these questions:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;‍&lt;strong&gt;Why are we doing [this strategy/tactic/activitiy]?&lt;/strong&gt;‍
    &lt;ul&gt;
      &lt;li&gt;Make sure you have a better reason than “Because Company X has done it”.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;‍&lt;strong&gt;What are we hoping to achieve?&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Define out your current priorities, then make sure any new initiatives will actually help you achieve your goals.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;‍&lt;strong&gt;Do we really understand what we are doing?&lt;/strong&gt;‍
    &lt;ul&gt;
      &lt;li&gt;You should be able to outline a path that leads you to your intended outcome. If you do decide to follow another company’s lead, make sure you understand why they made any decisions they’ve made.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;‍&lt;strong&gt;Is this advice/expertise relevant in our current situation?&lt;/strong&gt;‍
    &lt;ul&gt;
      &lt;li&gt;Keep your filters on while listening to advice from industry leaders and experts. Ask yourself: Is the information relevant? And is it helpful in your current situation?&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;div class=&quot;not-prose rounded-sm flex flex-col gap-2 justify-items-center my-12&quot;&gt;
&lt;img src=&quot;/images/blog/cargocult/3steps.jpeg&quot; class=&quot; &quot; /&gt;
&lt;span class=&quot;italic text-center&quot;&gt;This is not a good formula for your marketing and growth initiates&lt;/span&gt;
&lt;/div&gt;

&lt;h2 id=&quot;finishing-up&quot;&gt;Finishing up&lt;/h2&gt;

&lt;p&gt;We need to be vigilant to avoid falling into the trap of cargo cult growth. The allure of emulating success is strong, and it’s easy to get carried away with implementing strategies and tactics that have worked for others.&lt;/p&gt;

&lt;p&gt;But there’s more to growth than simply mimicking what’s worked for others. Successful strategies are born from a deep understanding of our customers, our market, and our unique value proposition. Growth should be a thoughtful, deliberate process, and not just the blind application of someone else’s playbook.&lt;/p&gt;</content><author><name>David Turnbull</name></author><category term="marketing" /><category term="startups" /><category term="growth" /></entry><entry><title type="html">SaaS metrics: Customer Acquisition Cost (CAC)</title><link href="https://davidturnbull.co/posts/saas-metrics-customer-acquisition-cost-cac/" rel="alternate" type="text/html" title="SaaS metrics: Customer Acquisition Cost (CAC)" /><published>2023-06-22T08:15:16+00:00</published><updated>2023-06-22T08:15:16+00:00</updated><id>repo://posts.collection/_posts/2023-06-22-saas-metrics-customer-acquisition-cost-cac.md</id><content type="html" xml:base="https://davidturnbull.co/posts/saas-metrics-customer-acquisition-cost-cac/">&lt;!-- ## Table of Contents
{:.no_toc}
* …
{:toc}
 --&gt;

&lt;p&gt;The &lt;em&gt;Customer Acquisition Cost (CAC)&lt;/em&gt; is the total cost of acquiring a &lt;strong&gt;new&lt;/strong&gt; &lt;strong&gt;customer&lt;/strong&gt;. It’s commonly used interchangeably with &lt;em&gt;Cost Per Acquisition (CPA),&lt;/em&gt; but they are not the same –  CAC is measuring the cost of acquiring a &lt;em&gt;customer&lt;/em&gt;, while the CPA is measuring the cost of an &lt;em&gt;acquisition&lt;/em&gt;, which could simply be a lead or a free trial signup.&lt;/p&gt;

&lt;h3 id=&quot;blended-vs-paid-cac&quot;&gt;Blended vs Paid CAC&lt;/h3&gt;

&lt;p&gt;There is more than one way people commonly calculate CAC. We calculate &lt;strong&gt;&lt;em&gt;Blended CAC&lt;/em&gt;&lt;/strong&gt; by dividing the &lt;em&gt;total costs involved to acquire the customer&lt;/em&gt; (marketing expenses, employee salaries etc) by the &lt;em&gt;number of new customers acquired in a given period&lt;/em&gt;. This gives us a CAC metric that includes customers that were acquired through organic channels.&lt;/p&gt;

&lt;p&gt;We calculate &lt;strong&gt;&lt;em&gt;Paid CAC&lt;/em&gt;&lt;/strong&gt; by dividing the &lt;em&gt;total costs to acquire our customers&lt;/em&gt; by the &lt;em&gt;number of customers acquired through&lt;/em&gt; &lt;strong&gt;&lt;em&gt;paid channels&lt;/em&gt;&lt;/strong&gt;. This is arguably the more useful metric as it allows us to see whether our paid channels are profitable, and if we can start scaling up the paid channels for an effective paid acquisition growth loop.&lt;/p&gt;

&lt;p&gt;We can go also further and break down these costs by our individual marketing channels to measure the performance on a channel by channel basis.&lt;/p&gt;

&lt;h2 id=&quot;how-to-calculate-your-customer-acquisition-cost-cac&quot;&gt;How to calculate your Customer Acquisition Cost (CAC)&lt;/h2&gt;

&lt;p&gt;To find your CAC you need to calculate the total cost of your sales and marketing expenses relating to new customer acquisition. Some examples of common costs relating to sales and marketing:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Cost of any marketing or sales software, tools etc used with new customer acquisition&lt;/li&gt;
  &lt;li&gt;The salaries/wages/commissions that were paid to your marketing and sales teams&lt;/li&gt;
  &lt;li&gt;Fees for external services (designers, copywriters, consultants)&lt;/li&gt;
  &lt;li&gt;Customer discounts, referral fees&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you have these numbers ready, you can calculate your acquisition costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Blended CAC&lt;/em&gt;&lt;/strong&gt;&lt;strong&gt;: Total cost of your sales and marketing ÷ New Customers Acquired&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Paid CAC: Total cost of your sales and marketing ÷ New Customers Acquired Through Paid Channels&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Tip: a CAC metric where the calculation includes salaries is often known as a “Fully Loaded CAC”&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;cac-per-marketing-channel&quot;&gt;CAC per marketing channel&lt;/h3&gt;

&lt;p&gt;Breaking CAC down on a per-channel basis is a good way to help you optimize your marketing budget, and make sure you’re not leaving any potential growth and profit on the table.&lt;/p&gt;

&lt;p&gt;To accurately measure CAC by marketing channel you need to be able to attribute your new customers to the particular channel that brought them in, which is often done using analytics tools like &lt;a href=&quot;https://analytics.google.com/analytics/web/&quot;&gt;Google Analytics&lt;/a&gt; or &lt;a href=&quot;https://amplitude.com/&quot;&gt;Amplitude&lt;/a&gt;. You can then break out a spreadsheet and calculate the total cost of each of your marketing channels (for example, the totals costs involved in your Adwords campaigns) and then divide each of these by the number of new customers that were attributed to that channel.&lt;/p&gt;

&lt;div class=&quot;not-prose rounded-sm flex flex-col gap-2 justify-items-center my-12&quot;&gt;
&lt;img src=&quot;/images/blog/per-channel-example.png&quot; /&gt;
&lt;span class=&quot;italic text-center&quot;&gt;Example of a per-channel CAC calculation&lt;/span&gt;
&lt;/div&gt;

&lt;p&gt;Attribution is a complex subject that I’ll be writing about in more detail in the future, so make sure to subscribe to my newsletter for updates.&lt;/p&gt;</content><author><name>David Turnbull</name></author><category term="marketing" /><category term="startups" /><category term="analytics" /></entry><entry><title type="html">Acquiring profitable SaaS leads from Capterra</title><link href="https://davidturnbull.co/posts/how-to-find-saas-leads-on-capterra-getapp-software-advice/" rel="alternate" type="text/html" title="Acquiring profitable SaaS leads from Capterra" /><published>2023-06-22T08:15:16+00:00</published><updated>2023-06-22T08:15:16+00:00</updated><id>repo://posts.collection/_posts/2023-06-22-how-to-find-saas-leads-on-capterra-getapp-software-advice.md</id><content type="html" xml:base="https://davidturnbull.co/posts/how-to-find-saas-leads-on-capterra-getapp-software-advice/">&lt;p&gt;Google and Facebook may dominate the pay-per-click (PPC) advertising world, but with CPC prices increasing every year if you’re looking for leads in the B2B SaaS space then it’s worth exploring some of the other options that exist.&lt;/p&gt;

&lt;h2 class=&quot;no_toc&quot; id=&quot;table-of-contents&quot;&gt;Table of Contents&lt;/h2&gt;
&lt;ul id=&quot;markdown-toc&quot;&gt;
  &lt;li&gt;&lt;a href=&quot;#finding-the-best-software-directories-for-your-saas&quot; id=&quot;markdown-toc-finding-the-best-software-directories-for-your-saas&quot;&gt;‍Finding the best software directories for your SaaS&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#how-to-setup-your-product-listings&quot; id=&quot;markdown-toc-how-to-setup-your-product-listings&quot;&gt;How to setup your product listings&lt;/a&gt;    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#product-listing-tips&quot; id=&quot;markdown-toc-product-listing-tips&quot;&gt;Product listing tips&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#conversion-tracking&quot; id=&quot;markdown-toc-conversion-tracking&quot;&gt;‍Conversion Tracking&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#source-tracking&quot; id=&quot;markdown-toc-source-tracking&quot;&gt;Source Tracking&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#product-reviews&quot; id=&quot;markdown-toc-product-reviews&quot;&gt;Product Reviews&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#after-the-click&quot; id=&quot;markdown-toc-after-the-click&quot;&gt;After the click&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#bidding&quot; id=&quot;markdown-toc-bidding&quot;&gt;Bidding&lt;/a&gt;    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#location-bid-targeting&quot; id=&quot;markdown-toc-location-bid-targeting&quot;&gt;Location Bid Targeting&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#measuring-success&quot; id=&quot;markdown-toc-measuring-success&quot;&gt;Measuring success&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ve probably noticed software directories like &lt;a href=&quot;https://www.capterra.com/&quot;&gt;Capterra&lt;/a&gt;, &lt;a href=&quot;https://www.getapp.com/&quot;&gt;GetApp&lt;/a&gt; and &lt;a href=&quot;https://www.softwareadvice.com/&quot;&gt;Software Advice&lt;/a&gt; showing up in the search engine results pages when you search Google for your company’s primary keywords. These directories are owned by &lt;a href=&quot;https://www.gartner.com/en/digital-markets&quot;&gt;Gartner Digital Markets&lt;/a&gt;, and their PPC advertising options can be surprisingly effective for B2B SaaS businesses.&lt;/p&gt;

&lt;p&gt;The Gartner-owned software directories share some primary characteristics:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;They display lists of business software segmented by product categories (eg: project management software or CRM software).&lt;/li&gt;
  &lt;li&gt;Each software product has a profile with a description, a list of key features, product screenshots and customer reviews.&lt;/li&gt;
  &lt;li&gt;You can pay to move up towards the top of the product category list, usually by placing a bid for position against other companies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/images/blog/capterra/capterra-projectmanagement.png&quot; class=&quot;flex justify-self-center my-12&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Visitors to these sites tend to have strong buyer intent and with a little work you can often achieve a good volume of conversions even if you don’t have the budget to get to the very top of the category list. I’ve personally managed hundreds of thousands of dollars of advertising spend through these software directories and I know that with some experimentation and optimization it’s possible to build these channels into an effective paid acquisition loop.&lt;/p&gt;

&lt;h3 id=&quot;finding-the-best-software-directories-for-your-saas&quot;&gt;‍Finding the best software directories for your SaaS&lt;/h3&gt;

&lt;p&gt;One of the best ways to find and prioritize the best directories and categories for your SaaS business is by searching Google for the common commercial SEO keywords used  for your product, and taking note of the software directories that are listed at the top of the results page. There’s a good chance that one or more of the Gartner properties will be towards the top of the results.&lt;/p&gt;

&lt;h3 id=&quot;how-to-setup-your-product-listings&quot;&gt;How to setup your product listings&lt;/h3&gt;

&lt;p&gt;After you’ve found the best directory for your product you can create a product profile for your SaaS tool. The Gartner software directories let you create free product profiles that will be listed towards the bottom of your target product category pages. These free profiles are often limited in features (for example, they may not let you display a CTA button to take people directly to your website) and if you want to be higher up on the category list then you’ll need to pay. While a free listing is better than nothing, we’re going to focus on paid listings for this guide.&lt;/p&gt;

&lt;h4 id=&quot;product-listing-tips&quot;&gt;Product listing tips&lt;/h4&gt;

&lt;p&gt;While filling out your product listing make sure to take the time to write product description copy that matches the specific product category for the listing. You want to think from the perspective of the potential lead who is viewing your product’s profile for the first time – they’re looking for a tool to help them with achieve a goal, so make sure your descriptions are category specific (for example, if you’re in the project management software category then your description should be project management focused), and are outlining how your product will help get them be successful.&lt;/p&gt;

&lt;h4 id=&quot;conversion-tracking&quot;&gt;‍Conversion Tracking&lt;/h4&gt;

&lt;p&gt;The Capterra admin panel offers reporting for Capterra, Getapp and Software Advice campaigns, including a column for Conversions. To track conversions you’ll need to add their Conversion tracking tag to your success page (the page someone visits directly after performing a conversion). The tracking tag is a small code snippet that &lt;a href=&quot;https://www.capterra.com/vp/vendors/conversion_tracking&quot;&gt;you can find&lt;/a&gt; in the Gartner admin portal, along with instructions on how best to install it.&lt;/p&gt;

&lt;h4 id=&quot;source-tracking&quot;&gt;Source Tracking&lt;/h4&gt;

&lt;p&gt;If you use more than one of Gartner’s ppc directories then you’ll want to turn on Source Tracking. Source Tracking automatically adds a string of characters to your URLs to help you determine their source, in other words, did the user come from Capterra, Getapp or Software Advice. I usually set the source tracking key to &lt;strong&gt;utm_source&lt;/strong&gt;, a &lt;a href=&quot;https://ga-dev-tools.appspot.com/campaign-url-builder/&quot;&gt;common method&lt;/a&gt; that lets Google Analytics and other tools track where a website visitors came from (note: if you want to track Campaign and Medium then you’ll still need to add utm_campaign and utm_medium to any links yourself). You can find out more about Source Tracking in the &lt;a href=&quot;https://www.capterra.com/vp/vendors/source_tracking&quot;&gt;admin portal&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;product-reviews&quot;&gt;Product Reviews&lt;/h3&gt;

&lt;p&gt;Most software directories let customers leave product reviews and the Gartner-owned properties are no different; in fact they even share the reviews across the different properties. Collecting positive reviews is definitely an area you’ll want to focus on, as a product with a larger number of reviews is likely to come across as more trustworthy than a product with zero reviews.&lt;/p&gt;

&lt;p&gt;While you could always wait and see who will review your product after creating your listing, I like to take a more proactive approach - reach out to some of your happy customers and ask if they can leave a review on your product listing, or (my preferred method) use your &lt;a href=&quot;https://www.findgrowthtools.com/category/customer-feedback-tools/nps-surveys/&quot;&gt;NPS or customer feedback&lt;/a&gt; tools to create an automated review request process.&lt;/p&gt;

&lt;p&gt;One point to keep in mind - even if you truly do have a 5* product, don’t get too hung up if you occasionally get a review that isn’t 5*. As long as reviews are factually correct then they should be on your listing, and you can always write a friendly review response as the vendor providing any additional context that needed. A mix of reviews can actually help improve trust, as a listing with hundreds of purely positive reviews can come across as a bad case of &lt;a href=&quot;https://en.wikipedia.org/wiki/Astroturfing&quot;&gt;astroturfing&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;after-the-click&quot;&gt;After the click&lt;/h3&gt;

&lt;p&gt;The goal of the software profile advertising is to drive traffic to our websites and ultimately, for a user to reach your conversion goal, whether that’s signing up for a free trial, requesting a demo or leaving contact details for your sales team. This makes the landing page hugely important to the success in your campaign - it’s a primary factor in the overall conversion rate which will ultimately decide your CPA, and with it 1) how much you can afford to bid, and 2) how much traffic (and leads) you’ll receive.&lt;/p&gt;

&lt;p&gt;The landing page is also a great chance to really differentiate yourself from the competition, and while it’s beyond the scope of this guide to dive too deeply into landing page design, remember: there is a good chance that people will be checking out a few different software options at the same time, so you’ll want to make sure your landing page is compelling.&lt;/p&gt;

&lt;p&gt;Through testing and experience I tend to side with the camp who believe you don’t want to send potential leads straight to your homepage, rather you should be creating dedicated landing pages with copy, images and calls to action specifically tailored to each campaign. If you can’t do this easily with your marketing site then it’s worth looking into using a tool like &lt;a href=&quot;https://unbounce.com/&quot;&gt;Unbounce&lt;/a&gt; or &lt;a href=&quot;https://www.leadpages.net/&quot;&gt;Leadpages&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;Make sure the copy on the landing page continues the story that you started telling on your product profile page. Outline the key benefits of your product, add testimonials as social proof, and make sure you have a large, clear call to action (CTA) towards your next step (starting a free trial, requesting a demo etc). It’s worth using a &lt;a href=&quot;https://www.findgrowthtools.com/category/conversion-rate-optimization-tools/session-replay/&quot;&gt;session replay tool&lt;/a&gt; like &lt;a href=&quot;https://www.hotjar.com/&quot;&gt;Hotjar&lt;/a&gt; on your landing page during the initial testing phase so you can check the behaviour of your leads and then make adjustments to copy and/or design as needed.&lt;/p&gt;

&lt;h3 id=&quot;bidding&quot;&gt;Bidding&lt;/h3&gt;

&lt;p&gt;The Gartner admin portal lets you set separate bids for each property (Capterra, Getapp, Software Advice) for each of the categories your product is listed in. A higher bid means you’ll be placed higher up the category list, receiving a greater volume of traffic (in theory at least).&lt;strong&gt;‍&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The amount you can afford to bid for each property/category is ultimately going to be a function of your:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Budget (how much can you actually afford to spend in a given month)&lt;/li&gt;
  &lt;li&gt;Target Cost Per Acquisition or CPA (Gartner uses CPL or Cost Per Lead within their reporting)&lt;/li&gt;
  &lt;li&gt;Visit &amp;gt; Payment conversion rate&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Based on this information, we can work backwards to calculate the maximum bid for a given category.&lt;/p&gt;

&lt;p&gt;Let’s start with an example: we’re going to bid on CRM category. We know that 5% of visitors (1 in 20) to our landing page will normally go on to convert by starting a free trial. We’ve worked out separately (using Trial to Paid conversion rates, LTV etc) that we have a target CPA of $200, or in other words, we can pay up to $200 for each free trial and still get a positive ROI.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The maximum we can spend per conversion is $200.&lt;/li&gt;
  &lt;li&gt;5% of people who click through will convert.&lt;/li&gt;
  &lt;li&gt;$200 x 5% = $10&lt;/li&gt;
  &lt;li&gt;This means we can set our max bid price to $10 per click to get conversions at our target CPA.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This means we can set our max bid price to $10 per click to get conversions at our target CPA.&lt;/p&gt;

&lt;p&gt;Now, &lt;em&gt;should&lt;/em&gt; we set our max bid price to $10? It depends!&lt;/p&gt;

&lt;p&gt;There’s an opportunity cost to each click you receive; a click from one category takes away from your overall budget, so you’ll want to check the performance of the campaign to make sure that you’re highest bids are on the categories that are performing best.&lt;/p&gt;

&lt;p&gt;Also, the volume of traffic you receive is not only based on the amount you bid – other factors include the volume of traffic to the directory itself, the volume of traffic within the product category, and how compelling your product profile is. I’ve seen product categories that will send almost 50x more traffic from one directory over another when the same bids prices are in place on both directories. Like everything in marketing, it’s best to run some tests and find out which bid levels work best for your product and categories.&lt;/p&gt;

&lt;h4 id=&quot;location-bid-targeting&quot;&gt;Location Bid Targeting&lt;/h4&gt;

&lt;p&gt;If you have access to data from your payment processor or a &lt;a href=&quot;https://www.findgrowthtools.com/category/analytics-tools/subscription-analytics/&quot;&gt;subscription analytics tool&lt;/a&gt; like &lt;a href=&quot;https://chartmogul.com/&quot;&gt;ChartMogul&lt;/a&gt; it’s worth taking the time to break your customers out into country-based cohorts to see which countries supply you with the most customers. Alternatively, you can use a product analytics tool like &lt;a href=&quot;https://amplitude.com/&quot;&gt;Amplitude&lt;/a&gt; to check your conversion funnel to see whether certain countries are converting at a higher rate. Armed with this data you can head to the Gartner admin panel and adjust your bid prices on a per-country basis using &lt;a href=&quot;https://www.capterra.com/vp/vendor_countries/locations&quot;&gt;Location Bid Targeting&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;measuring-success&quot;&gt;Measuring success&lt;/h3&gt;

&lt;p&gt;When the campaign is live you’ll be able to use the Gartner Insights panel to track its performance, and then make adjustments to your bid pricing and/or optimize other areas of the campaign to make improvements.&lt;/p&gt;

&lt;p&gt;Some common issues and ways of optimising a campaign:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;Low number of clicks&lt;/em&gt;: increase your bid.&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Low number of clicks with a high bid already in place&lt;/em&gt;: Try to improve the quality of your product listing by making the copy more compelling, or getting more positive reviews.&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Good number of clicks, low conversion rate&lt;/em&gt;: Try to improve your landing page, make the copy more compelling, change the CTAs etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also recommend keeping track of your conversions using a 3rd party analytics that can measure UTM campaigns, like Google Analytics or Amplitude. If you notice a significant difference between Gartner’s signups and Google Analytics conversions then it’s worth remembering that by default GA reports use the Last Non-Direct Click conversion attribution model, so you might want to check the &lt;a href=&quot;https://support.google.com/analytics/answer/6148697?hl=en&quot;&gt;Model Comparison Tool&lt;/a&gt; report to compare it with other models.&lt;/p&gt;</content><author><name>David Turnbull</name></author><category term="marketing" /><category term="startups" /><category term="growth" /></entry></feed>