<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Digital Marketing  - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Digital Marketing  - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Wed, 03 Jun 2026 17:24:43 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/digital-marketing/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Write Freelance Proposals That Will Win Over Clients + a Free Template ]]>
                </title>
                <description>
                    <![CDATA[ By Kyle Prinsloo Your prospective client asks you to provide them with a quote. So you just send them the quote, right? Wrong. If you did, you would be missing out on a massive opportunity here. In this article, I’m going to walk you through the pre-... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/free-web-design-proposal-template/</link>
                <guid isPermaLink="false">66d4601d9f2bec37e2da0647</guid>
                
                    <category>
                        <![CDATA[ 100DaysOfCode ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Digital Marketing  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Freelancing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Front-end Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Thu, 07 May 2020 14:24:00 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5f9c9b2e740569d1a4ca2a3c.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Kyle Prinsloo</p>
<p>Your prospective client asks you to provide them with a quote. So you just send them the quote, right?</p>
<p>Wrong.</p>
<p>If you did, you would be missing out on a massive opportunity here.</p>
<p>In this article, I’m going to walk you through the pre-proposal phase, how to create a proposal, sending the proposal, and what to do after you’ve sent it.</p>
<h2 id="heading-the-pre-proposal-phase">The Pre-Proposal Phase</h2>
<p>Before you send the proposal, you need to know a few things.</p>
<p>Here are 10 questions to ask your prospective client:</p>
<ol>
<li>What does your business do?</li>
<li>Who is your ideal target market?</li>
<li>What is the desired action you would like a website visitor to do?</li>
<li>What makes you unique from your competitors?</li>
<li>What is an average client/customer worth to your business?</li>
<li>How do you currently get new clients/customers?</li>
<li>How many clients/sales do you get on an average month?</li>
<li>Do you have professional images and a brand identity?</li>
<li>When would you like the project completed by?</li>
<li>Is there anything else you would like me to know about?</li>
</ol>
<p>A quick side note: if you feel like the client has a very limited budget, and it won’t be profitable for you, you can ask them: “Do you have a budget set aside for this project and is it at least over $xxx (insert your absolute minimum desired amount)?” This will then justify further questioning, and help you decide whether you should bother sending a proposal through.</p>
<p>Once you have all this information, you’ll be able to create the perfect proposal.</p>
<h2 id="heading-what-is-a-proposal-template">What is a Proposal Template?</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/05/web-design-proposal-template-fcc-1-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>A freelance proposal template</em></p>
<p>Think of it as a document you present to a prospective client after your meeting which includes the following:</p>
<p>•    Intro/Cover Page<br>•    Project Overview (what they would like)<br>•    Quote Options (always provide 3 options)<br>•    Terms of Agreement (payment and delivery terms)</p>
<p>This document showcases that you understand the project, the business needs, and that you can provide the solution for them.</p>
<h2 id="heading-the-introcover-page">The Intro/Cover Page</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/05/proposal-template-cover.png" alt="Image" width="600" height="400" loading="lazy">
<em>Proposal Template - Cover Page</em></p>
<h2 id="heading-breaking-down-the-project-overview">Breaking Down the Project Overview</h2>
<p>This is the MOST important aspect of the Proposal.</p>
<p>You need to focus on 2 key areas here:</p>
<ol>
<li>Highlighting the Problem</li>
<li>Showcasing the Solution</li>
</ol>
<h2 id="heading-highlighting-the-problem">Highlighting the Problem</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/05/proposal-template-problem.png" alt="Image" width="600" height="400" loading="lazy">
<em>Proposal Template - The Problem</em></p>
<p>The first point to mention is the company’s goal, so it’s relatable:</p>
<blockquote>
<p>“…to improve your existing website to focus on generating more free consultations which will result in more paying clients.”</p>
</blockquote>
<p>This shows that you and your client are on the same page. Now, we highlight current problem which is:</p>
<blockquote>
<p>“According to your data, only 2% of website visitors result in free consultations and 10% of free consultations result in paying clients.”</p>
</blockquote>
<p>What you are doing here is showing that there is a major problem that needs to be solved, which leads us on to the solution.</p>
<h2 id="heading-showcasing-the-solution">Showcasing the Solution:</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/05/proposal-template-solution.png" alt="Image" width="600" height="400" loading="lazy">
<em>Proposal Template - The Solution</em></p>
<p>Now it’s time to provide a solution – how you can help the business achieve their goal.</p>
<h3 id="heading-how-do-you-know-what-the-solution-is">How do you know what the solution is?</h3>
<p>This is where you need to equip yourself better to either speak from a position of knowledge or experience.</p>
<p>The best way to do this is to read case studies. You need to know examples or companies with bad websites and marketing and also examples of companies with good websites and marketing.</p>
<p>Let’s say an insurance company comes to you and asks you to increase their leads through their website.</p>
<p>What you need to do is find out what they’re doing right and what they’re doing wrong which can be improved on.</p>
<p>For example, you might find in your research that adding a video to a “faceless” company creates trust and can increase form completions by an extra 5%.</p>
<p>Or maybe you find out that their information can be presented better, they need customer testimonials, their web page takes too long to load, or their marketing needs improvement.</p>
<p>Whatever it is, you need to know about it and the only way to do that is to read CRO (Conversion Rate Optimization) content.</p>
<p>A few recommended resources are CrazyEgg, Kissmetrics, DigitalMarketer, Moz, CXL and Nielson Norman.</p>
<p>With that said, and based on knowledge you gain or from experience, you tailor the solution accordingly.</p>
<p>In this case, a solution to the problem above may be:</p>
<blockquote>
<p>“The goal would be to double the number of free consultations to at least 4%, which I believe is a low estimate based on the results I’ve seen in similar industries focused around effective call-to-actions (free consultations).   </p>
<p>Realistically, I do believe we could achieve a 6 – 8% conversion rate of free consultations once the site has been completed and improved on, but I am 100% confident that 4% is a low estimate.  </p>
<p>At an average value of $1,250 per client and based on double your existing monthly client sign ups (4 per month), I’m very confident we could achieve 4 additional sign ups per month (4 x $1,250 = $5,000) or 48 additional sign ups per year (48 x $1,250 = $60,000).”</p>
</blockquote>
<p>The last paragraph of this is crucial. What we are doing here is price-anchoring based on value.</p>
<p>You can read more about pricing <a target="_blank" href="https://studywebdevelopment.com/how-to-charge-for-a-website.html">here</a>, but the point is using the <strong>Potential Return</strong> and offsetting than against the <strong>Price of the Project</strong>, which we’ll cover in the point below.</p>
<h2 id="heading-explaining-the-quote-options">Explaining the Quote Options</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/05/proposal-template-pricing-options.png" alt="Image" width="600" height="400" loading="lazy">
<em>Proposal Template - Pricing Options</em></p>
<p>Always give 3 options to choose from.</p>
<p>W. Poundstone's book, <em>Priceless</em>, covers an interesting experiment selling beer.</p>
<p>A group of people were offered 2 kinds of beer: premium beer for $2.50 and cheaper beer for $1.80.</p>
<p>Almost 80% chose the premium beer.</p>
<p>After this test, a third super bargain beer was added as an option for $1.60 in addition to the previous two. Now 80% bought the $1.80 beer and the rest bought the $2.50 beer. Nobody bought the cheapest option.</p>
<p>On the third test, they removed the $1.60 beer and replaced it with a a more expensive $3.40 beer. Most people chose the $2.50 beer, a small number $1.80 beer and around 10% opted for the most expensive $3.40 beer.</p>
<p><strong>Takeaway: Most clients never choose the cheapest option. They choose option 2 or 3.</strong></p>
<h2 id="heading-terms-of-agreement">Terms of Agreement:</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/05/proposal-template-pricing-terms.png" alt="Image" width="600" height="400" loading="lazy">
<em>Proposal Template - Terms of Agreement</em></p>
<p>The main point in the Terms is where you mention your Pricing.</p>
<p>You’ll notice that it’s a once-off cost and there is not hourly billing. I’m against billing by the hour and I prefer once-off pricing for <a target="_blank" href="https://studywebdevelopment.com/hourly-billing-vs-value-pricing.html">various reasons</a>.</p>
<p>Let’s remember that we would like the client to go ahead with Option 2 or Option 3.</p>
<p>Option 2 should only be around 30% more than Option 1 as it makes this option look more appealing.</p>
<p>Option 3 should be 20-40% higher than Option 2, which also makes Option 2 (the middle choice) seem more reasonable.</p>
<h2 id="heading-sending-the-proposal">Sending the Proposal:</h2>
<p>Don’t overcomplicate this part of the process.</p>
<p>Let your Proposal Template do the “talking” here. All you need to do is write a straight-forward email and attach the Proposal Template (PDF Version).</p>
<p>I like to mention exactly the same intro on the Proposal Template Cover Page.</p>
<p>Here is an example email:</p>
<blockquote>
<p>Hi [Client’s Name],  </p>
<p>Thanks for discussing your business with me yesterday. I’ve compiled 3 options I believe will help achieve the business goals we’ve discussed.  </p>
<p>Please review my proposal and let me know if you have any questions or comments. I will contact you next week Tuesday if I haven’t heard from you by then.  </p>
<p>Regards,<br>Your Name</p>
</blockquote>
<h2 id="heading-post-proposal-phase">Post-Proposal Phase</h2>
<p>I’m surprised to see most developers don’t do take full advantage of this phase.</p>
<p>You need to follow up after a week if you haven’t heard back from them, and keep following up until you either get a YES or NO.</p>
<p>If the business says they’re not interested (or no), then find out <strong>why</strong>?</p>
<p>Is your pricing too high? Are they not understanding your value? What is the reason they said no?</p>
<p>Find this out and adapt your proposals and communication accordingly.</p>
<p>That’s it :) </p>
<p>I hope you all found this article helpful.</p>
<h2 id="heading-download-the-proposal-template-for-free">Download the Proposal Template for free.</h2>
<p>Here's the [the full proposal template](https://www.dropbox.com/s/kx7osnndtjf2ff3/Client Proposal Template - FCC.docx?dl=1), which you can instantly download for free.</p>
<p>If you found this article helpful, you can read more about <a target="_blank" href="https://studywebdevelopment.com/how-to-get-clients-freelance-developer.html">how to get clients as a freelance developer</a> on my blog. And if you’re more serious, I have a <a target="_blank" href="https://studywebdevelopment.com/freelancing.html">popular freelancing bundle</a> as well.</p>
<p>Thanks for reading and cheers for now,</p>
<p>Kyle</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Make a Website SEO-Friendly and Keep it That Way ]]>
                </title>
                <description>
                    <![CDATA[ By Adam Henson Amidst the economic devastation of COVID-19, online businesses have become dependent on SEO now more than ever. Times like these illustrate the power and importance of Search Engine Optimization. What is SEO? SEO is the practice of inc... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-make-a-website-seo-friendly/</link>
                <guid isPermaLink="false">66d45d5b677cb8c6c15f3154</guid>
                
                    <category>
                        <![CDATA[ Digital Marketing  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ SEO ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 20 Apr 2020 11:45:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/04/park-pano.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Adam Henson</p>
<p>Amidst the economic devastation of COVID-19, online businesses have become dependent on SEO now more than ever. Times like these illustrate the power and importance of Search Engine Optimization.</p>
<h3 id="heading-what-is-seo">What is SEO?</h3>
<p>SEO is the practice of increasing quantity and quality of traffic to a web page through organic search engine results. Organic search results are derived from an internal algorithm of the search engine and not the result of paid advertising. Below is a list of related terminology.</p>
<ul>
<li><strong>SERP</strong> or Search Engine Results Page is simply the results page that drive clicks. These pages include a combination of paid search results and organic.</li>
<li><strong>SEM</strong> or Search Engine Marketing is the practice of marketing a business using paid advertisements that appear on SERPs.</li>
<li><strong>PPC</strong> stands for pay-per-click, a model of internet marketing in which advertisers pay a fee each time one of their ads is clicked.</li>
</ul>
<p>Learning SEO basics and more advanced topics can be a bewildering process. In this post we'll take a look at simple steps to help create SEO friendly web pages and tools to maintain them.</p>
<h2 id="heading-relevant-and-meaningful-content">Relevant and Meaningful Content</h2>
<p>The most important driver of an SEO friendly website is unique, relevant, and meaningful content. Although this seems obvious, it's easier to mess up than get right. </p>
<p>A deep understanding of the website's users is crucial in mastering content creation. Content that establishes a strong connection to the user will boost interaction and reduce bounce rate. Search engines recognize time users spend on a website and levels of interaction.</p>
<p><strong>Don't get too clever</strong>. SEO isn't a card game in which you need to outsmart the opponent. "Over-optimizing" is a term that describes age-old techniques that attempt to trick search engines, like "link stuffing" and "content stuffing" for example. In the past, some tricks were proven effective, but they were ultimately short-lived.</p>
<p><strong>Keyword strategy</strong> can lead to SEO success when done correctly. Finding the right balance between keyword usage and subject relevance is crucial in achieving this success.</p>
<p><strong>Variety in content</strong> and format is an effective way to hold attention. A rich set of content including imagery, video, tables and lists will captivate those eyeballs.</p>
<p><strong>Organizing content</strong> in a logical website hierarchy is another fundamental aspect in creating an SEO friendly website. Google's Search Console Help page "<a target="_blank" href="https://support.google.com/webmasters/answer/7451184?hl=en#hierarchy">Search Engine Optimization (SEO) Starter Guide</a>" provides an elaborate guide in organizing content.</p>
<h2 id="heading-semantic-markup-and-structured-data">Semantic Markup and Structured Data</h2>
<p>Well-constructed content is key for SEO along with well constructed code that our browsers and search engines use to interpret content. </p>
<p>Many HTML tags have semantic meaning that help interpreters understand and classify types of content. As web developers, we sometimes feel powerless in the marketing-heavy world of SEO, but writing <strong>semantic markup</strong> is one of the most impactful tools in our tool belt. </p>
<p>Why write every HTML element as a <code>div</code> when we have a full spectrum of tags to identify different types of content. Below are some of the more useful semantic tags.</p>
<ul>
<li>Page titles</li>
<li>Page descriptions</li>
<li>Paragraphs</li>
<li>Lists</li>
<li>Articles</li>
<li>Sections</li>
<li>Headers</li>
<li>Footers</li>
<li>Etc, etc</li>
</ul>
<p>Again, it's important to be clever authoring HTML, but not too clever. A well-balanced sprinkling of shared keywords across titles, descriptions, h1s and h2s can go a long way. Titles and descriptions should be unique between pages and relevant in content.</p>
<p><strong>Structured data</strong> is a newer data format, following the <a target="_blank" href="https://json-ld.org/">JSON-LD specification</a>, that can be embedded on HTML pages. Search engines like Google interpret structured data to understand the content of the page, as well as to gather information about the web and the world in general as explained in "<a target="_blank" href="https://developers.google.com/search/docs/guides/intro-structured-data">Understand how structured data works</a>". Below is a simple example.</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"application/ld+json"</span>&gt;</span><span class="javascript">
{
  <span class="hljs-string">"@context"</span>: <span class="hljs-string">"https://schema.org"</span>,
  <span class="hljs-string">"@type"</span>: <span class="hljs-string">"Organization"</span>,
  <span class="hljs-string">"name"</span>: <span class="hljs-string">"Foo Software | Website Quality Monitoring"</span>,
  <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://www.foo.software"</span>,
  <span class="hljs-string">"sameAs"</span>: [
    <span class="hljs-string">"https://www.facebook.com/www.foo.software"</span>,
    <span class="hljs-string">"https://www.instagram.com/foosoftware/"</span>,
    <span class="hljs-string">"https://github.com/foo-software"</span>,
    <span class="hljs-string">"https://www.linkedin.com/company/foo-software"</span>
  ]
}
</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
</code></pre>
<h2 id="heading-website-accessibility-and-performance">Website Accessibility and Performance</h2>
<p>Search engines will surely continue to raise the bar for acceptable web standards. <a target="_blank" href="https://webmasters.googleblog.com/2018/03/rolling-out-mobile-first-indexing.html">In 2018 Google announced the beginning of its migration to mobile-first indexing</a> and expanded by announcing <a target="_blank" href="https://webmasters.googleblog.com/2020/03/announcing-mobile-first-indexing-for.html">mobile-first indexing for the whole web in 2020</a>. Web page performance and accessibility encompass user-centric metrics that can ultimately impact SEO.</p>
<p><strong>Website performance</strong> captures the user journey, marking various moments of the user experience. Below are important performance metrics.</p>
<ul>
<li><strong><a target="_blank" href="https://web.dev/fcp/">First contentful paint (FCP)</a>:</strong> measures the time from when the page starts loading to when any part of the page's content is rendered on the screen. </li>
<li><strong><a target="_blank" href="https://web.dev/lcp/">Largest contentful paint (LCP)</a>:</strong> measures the time from when the page starts loading to when the largest text block or image element is rendered on the screen.</li>
<li><strong><a target="_blank" href="https://web.dev/fid/">First input delay (FID)</a>:</strong> measures the time from when a user first interacts with your site (i.e. when they click a link, tap a button, or use a custom, JavaScript-powered control) to the time when the browser is actually able to respond to that interaction.</li>
<li><strong><a target="_blank" href="https://web.dev/tti/">Time to Interactive (TTI)</a>:</strong> measures the time from when the page starts loading to when it's visually rendered, its initial scripts (if any) have loaded, and it's capable of reliably responding to user input quickly.</li>
<li><strong><a target="_blank" href="https://web.dev/tbt/">Total blocking time (TBT)</a>:</strong> measures the total amount of time between FCP and TTI where the main thread was blocked for long enough to prevent input responsiveness.</li>
<li><strong><a target="_blank" href="https://web.dev/cls/">Cumulative layout shift (CLS)</a>:</strong> measures the cumulative score of all unexpected layout shifts that occur between when the page starts loading and when its <a target="_blank" href="https://developers.google.com/web/updates/2018/07/page-lifecycle-api">lifecycle state</a> changes to hidden.</li>
</ul>
<p><strong>Website accessibility</strong> is another important concept to keep in mind when building a search engine optimized website. Not only are there a variety of humans reading our websites, but also a variety of machines like screen-readers doing the same. </p>
<blockquote>
<p>Improving accessibility makes your site more useable for everyone. ~ Addy Osami | <a target="_blank" href="https://web.dev/a11y-tips-for-web-dev/">Accessibility tips for web developers</a></p>
</blockquote>
<h2 id="heading-seo-tools">SEO Tools</h2>
<p>In this post we've taken a look at ways to improve SEO, but how do we maintain these standards over time? Many tools can help us analyze and monitor SEO.</p>
<p><a target="_blank" href="https://www.foo.software/lighthouse">Foo’s Automated Lighthouse Check</a> monitors quality of web pages with Lighthouse. It provides detailed SEO, performance, and accessibility reporting. Free and premium plans are available.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/04/automated-lighthouse-check.png" alt="Image" width="600" height="400" loading="lazy">
<em>Automated Lighthouse Check dashboard</em></p>
<p><a target="_blank" href="https://search.google.com/search-console/about"><strong>Google Search Console</strong></a> is a must have for any website owner who cares about SEO. It provides insight into which search terms are receiving organic traffic and a granular level of analysis. You can filter by location, device and more.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/04/google-search-console.png" alt="Image" width="600" height="400" loading="lazy">
<em>Google Search Console performance dashboard</em></p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>SEO is not an easy practice to master, but among the trending tricks of the trade that come and go over time, the most effective approach should come naturally. Meaningful, well formed content combined with well formed code, delivered in a performant, accessible way will surely appease the SEO gods.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is Open Graph and how can I use it for my website? ]]>
                </title>
                <description>
                    <![CDATA[ It can take a lot of time to build content and maintain a website. How can we make sure our content stands out when getting shared on social feeds around the internet? What is Open Graph? Why do I need it? What happens if I don’t have it? Starting w... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-is-open-graph-and-how-can-i-use-it-for-my-website/</link>
                <guid isPermaLink="false">66b8e39ac9bc6d235bb126b4</guid>
                
                    <category>
                        <![CDATA[ #content marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Digital Marketing  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTML ]]>
                    </category>
                
                    <category>
                        <![CDATA[ marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ open graph ]]>
                    </category>
                
                    <category>
                        <![CDATA[ social media ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Colby Fayock ]]>
                </dc:creator>
                <pubDate>Thu, 26 Mar 2020 14:51:33 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/03/open-graph.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>It can take a lot of time to build content and maintain a website. How can we make sure our content stands out when getting shared on social feeds around the internet?</p>
<ul>
<li><a class="post-section-overview" href="#heading-what-is-open-graph">What is Open Graph?</a></li>
<li><a class="post-section-overview" href="#heading-why-do-i-need-it">Why do I need it?</a></li>
<li><a class="post-section-overview" href="#heading-what-happens-if-i-dont-have-it">What happens if I don’t have it?</a></li>
<li><a class="post-section-overview" href="#heading-starting-with-the-basics-of-open-graph">Starting with the basics of open graph</a></li>
<li><a class="post-section-overview" href="#heading-website-open-graph-type">Website open graph type</a></li>
<li><a class="post-section-overview" href="#heading-some-other-open-graph-tags-that-are-worth-adding">Some other open graph tags that are worth adding</a></li>
<li><a class="post-section-overview" href="#heading-twitter-and-other-social-media-networks-using-open-graph">Twitter and other social media networks using open graph</a></li>
<li><a class="post-section-overview" href="#heading-images-in-open-graph">Images in open graph</a></li>
<li><a class="post-section-overview" href="#heading-testing-your-open-graph-tags">Testing your open graph tags</a></li>
<li><a class="post-section-overview" href="#heading-can-i-get-an-example">Can I get an example?</a></li>
</ul>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/QwEQKM4YRnU" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h2 id="heading-what-is-open-graph">What is Open Graph?</h2>
<p><a target="_blank" href="https://ogp.me/">Open Graph</a> is an internet protocol that was originally created by <a target="_blank" href="http://fbdevwiki.com/wiki/Open_Graph_protocol">Facebook</a> to standardize the use of metadata within a webpage to represent the content of a page.</p>
<p>Within it, you can provide details as simple as the title of a page or as specific as the duration of a video. These pieces all fit together to form a representation of each individual page of the internet.</p>
<h2 id="heading-why-do-i-need-it">Why do I need it?</h2>
<p>Content on the internet is typically created with at least one goal in mind -- to share it with others. This might not necessarily matter if you’re just sending it to one friend, but if you want to share it or want it to be shared on any social network or app that utilizes rich previews, you’ll want that preview to be as effective as possible.</p>
<div class="embed-wrapper">
        <blockquote class="twitter-tweet">
          <a href="https://twitter.com/colbyfayock/status/1237455806230077441"></a>
        </blockquote>
        <script defer="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></div>
<p>This will help encourage people to check out your content and inevitably click through to your content.</p>
<h2 id="heading-what-happens-if-i-dont-have-it">What happens if I don’t have it?</h2>
<p>Most social networks by default will try to make their best effort in creating a preview of your content. This more often than not doesn’t go so well.</p>
<p>Take for instance my website <a target="_blank" href="https://colbyfayock.com">colbyfayock.com</a>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/03/simple-twitter-card.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Example of a simple Twitter Card</em></p>
<p>It correctly grabs the title of my page and the description, but it's not the most enticing looking tweet in a feed.</p>
<p>Contrast that to the preview of a single post and we see a different story.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/03/large-image-twitter-card.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Example of a Twitter Card with a large image</em></p>
<p>So what happens if you don’t have open graph tags? Nothing bad will happen, but you won’t be taking advantage of some of the features that help make your content stand out next to the loads of other content getting posted on the internet.</p>
<h2 id="heading-starting-with-the-basics-of-open-graph">Starting with the basics of open graph</h2>
<p>The four basic open graph tags that are required for each page are <code>og:title</code>, <code>og:type</code>, <code>og:image</code>, and <code>og:url</code>. These tags should be unique for each page you serve, meaning your homepage’s tags should all be different from your blog post article’s page.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/03/open-graph-twitter-card.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Anatomy of a Twitter Card using Open Graph tags</em></p>
<p>While it should be pretty straightforward, here’s a breakdown of what each of the tags mean:</p>
<ul>
<li><code>og:title</code>: The title of your page. This is typically the same as your webpage's <code>&lt;title&gt;</code> tag unless you’d like to present it differently.</li>
<li><code>og:type</code>: The “type” of website you have. I’ll explain more in the next section, though a generic “type” is “website”.</li>
<li><code>og:image</code>: This should be a link to an image that you’d like to represent your content. It should be a high resolution image that the social networks will use in their feeds.</li>
<li><code>og:url</code>: This should be the URL of the current page.</li>
</ul>
<p>When placing a tag on your website, you should place it in the <code>&lt;head&gt;</code> along with any other metadata. The tag used will be a <code>&lt;meta&gt;</code> tag and should look like this pattern:</p>
<pre><code>&lt;meta property=“[NAME]” content=“[VALUE]” /&gt;
</code></pre><p>So if I were to create a set four basic open graph tags for my website, <a target="_blank" href="https://colbyfayock.com">colbyfayock.com</a>, it might look like:</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:title"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"Colby Fayock - A UX Designer <span class="hljs-symbol">&amp;amp;</span> Front-end Developer Blog"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:type"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"website"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:image"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"/static/website-social-card-44070c4a901df708aa1563ac4bbe595a.jpg"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:url"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"https://www.colbyfayock.com"</span> /&gt;</span>
</code></pre>
<h2 id="heading-website-open-graph-type">Website open graph type</h2>
<p>The open graph protocol has a few variations of the “type” of website it supports. This includes types like website, article, or video.</p>
<p>When setting up your open graph tags, you’ll want to have an idea of which type will make more sense for your website. If your page is focused on a single video, it probably makes sense to use the type “video”. If it’s a general website with no specific vertical, you would probably just want to use the type “website”.</p>
<p>Similar to the others, this is unique for each page. So if your homepage is "website,” you could always have another page of type “video”.</p>
<p>So if I were to create an open graph type for my website, it might look like the following on my homepage:</p>
<pre><code class="lang-html"><span class="hljs-comment">&lt;!-- colbyfayock.com --&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">“og:type”</span> <span class="hljs-attr">content</span>=<span class="hljs-string">“profile”</span> /&gt;</span>
</code></pre>
<p>When navigating to a blog post, it would look like:</p>
<pre><code class="lang-html"><span class="hljs-comment">&lt;!-- https://www.colbyfayock.com/2020/03/anyone-can-map-inspiration-and-an-introduction-to-the-world-of-mapping/ --&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">“og:type”</span> <span class="hljs-attr">content</span>=<span class="hljs-string">“article”</span> /&gt;</span>
</code></pre>
<p>You can find the most common open graph website types on the open graph webpage: <a target="_blank" href="https://ogp.me/#types">https://ogp.me/#types</a></p>
<h2 id="heading-some-other-open-graph-tags-that-are-worth-adding">Some other open graph tags that are worth adding</h2>
<p>Though you’ll generally be okay with the basics, here are a few more that would be worth adding:</p>
<ul>
<li><code>og:description</code>: A description of your page. Similarly to <code>og:title</code>, this may be the same as your website’s <code>&lt;meta type=“description”&gt;</code> tag, unless you’d like to present it differently.</li>
<li><code>og:locale</code>: If you want to localize your tags, it would probably make sense to include locale. The format is <code>language_TERRITORY</code>, where the default is <code>en_US</code>.</li>
<li><code>og:site_name</code>: The name of the overall website your content is on. If you're on a blog post page, you might have a <code>title</code> using that blog post’s title, where the <code>site_name</code> would be the name of your blog.</li>
<li><code>og:video</code>: Have a video that supports your content? Here’s a chance to include it. Add a link to your video using this tag.</li>
</ul>
<p>These tags will be added in the same pattern as before:</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">“[NAME]”</span> <span class="hljs-attr">content</span>=<span class="hljs-string">“[VALUE]”</span> /&gt;</span>
</code></pre>
<h2 id="heading-twitter-and-other-social-media-networks-using-open-graph">Twitter and other social media networks using open graph</h2>
<p>Most of the social networks adhere to the basics of open graph standards, but a few of them also include their own extension to help customize the look and feel within their ecosystem.</p>
<p>Twitter for instance, allows you to specify <code>twitter:card</code>, which is the type of “card” you can use when they show your website. At this time, their card types include:</p>
<ul>
<li>summary</li>
<li>summary_large_image</li>
<li>app</li>
<li>player</li>
</ul>
<p>This will help you choose how your links are used in their feed. If you choose <code>summary_large_image</code> for instance, Twitter will show your links with big high resolution images as long as you’re providing it in the in the <code>og:image</code> tag.</p>
<p>Here are some quick references to the documentation of how to use open graph tags with some of the social media sites:</p>
<ul>
<li>Twitter: <a target="_blank" href="https://developer.twitter.com/en/docs/tweets/optimize-with-cards/guides/getting-started">https://developer.twitter.com/en/docs/tweets/optimize-with-cards/guides/getting-started</a></li>
<li>Facebook: <a target="_blank" href="https://developers.facebook.com/docs/sharing/webmasters/">https://developers.facebook.com/docs/sharing/webmasters/</a></li>
<li>Pinterest: <a target="_blank" href="https://developers.pinterest.com/docs/rich-pins/overview/">https://developers.pinterest.com/docs/rich-pins/overview/</a>?</li>
<li>LinkedIn: <a target="_blank" href="https://www.linkedin.com/help/linkedin/answer/46687/making-your-website-shareable-on-linkedin?lang=en">https://www.linkedin.com/help/linkedin/answer/46687/making-your-website-shareable-on-linkedin?lang=en</a></li>
</ul>
<h2 id="heading-images-in-open-graph">Images in open graph</h2>
<p>While adding your image as <code>og:image</code> should often be enough, sometimes it can be challenging to get your image to show up correctly. If you seem to be running into trouble, the open graph standard includes a few image tags such as <code>og:image:url</code> vs <code>og:image:secure_url</code> as well as the <code>og:image:width</code> and <code>og:image:height</code>.</p>
<p>Try to make sure you’re following all of the <a target="_blank" href="https://ogp.me/#structured">notes and examples in the open graph documentation</a>. Additionally, some of the social networks have image requirements. <a target="_blank" href="https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/summary-card-with-large-image">Twitter for instance requires</a> a ratio of 2:1 with a minimum size of 300x157 and a maximum size of 4096x4096 that’s under 5MB and of JPG, PNG, WEBP or GIF format.</p>
<p>If you’re stuck, test your tags using the social media network’s tools to see if you can find the issue.</p>
<h2 id="heading-testing-your-open-graph-tags">Testing your open graph tags</h2>
<p>Luckily, our favorite social networks also provide tools to help us debug our tags. Once you make sure that your tags are actually showing up in the source code of your website, you’ll be able to preview how your website will look in the feed.</p>
<ul>
<li>Twitter: <a target="_blank" href="https://cards-dev.twitter.com/validator">https://cards-dev.twitter.com/validator</a></li>
<li>Facebook: <a target="_blank" href="https://developers.facebook.com/tools/debug/">https://developers.facebook.com/tools/debug/</a></li>
<li>Pinterest: <a target="_blank" href="https://developers.pinterest.com/tools/url-debugger/">https://developers.pinterest.com/tools/url-debugger/</a></li>
</ul>
<h2 id="heading-digging-further-into-open-graph-tags">Digging further into open graph tags</h2>
<p>While most of these should cover a basic website, there are a few more tags that might help you and your business’s discoverability throughout social networks. </p>
<p>If you’re interested in diving in more, <a target="_blank" href="https://ogp.me/">the documentation</a> does a great job at providing a list of all of the available tags for you to use.</p>
<p><a target="_blank" href="https://ogp.me/">https://ogp.me/</a></p>
<h2 id="heading-can-i-get-an-example">Can I get an example?</h2>
<p>If you’re simply looking for an example to get started, here’s what you should end up with when setting up your tags for <a target="_blank" href="https://www.colbyfayock.com/2020/03/anyone-can-map-inspiration-and-an-introduction-to-the-world-of-mapping/">a blog post</a>:</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:site_name"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"Colby Fayock"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">“og:title”</span> <span class="hljs-attr">content</span>=<span class="hljs-string">“Anyone</span> <span class="hljs-attr">Can</span> <span class="hljs-attr">Map</span>! <span class="hljs-attr">Inspiration</span> <span class="hljs-attr">and</span> <span class="hljs-attr">an</span> <span class="hljs-attr">introduction</span> <span class="hljs-attr">to</span> <span class="hljs-attr">the</span> <span class="hljs-attr">world</span> <span class="hljs-attr">of</span> <span class="hljs-attr">mapping</span> <span class="hljs-attr">-</span> <span class="hljs-attr">Colby</span> <span class="hljs-attr">Fayock</span>" /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:description"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"Chef Gusteau was a visionary who created food experiences for the world to enjoy. How can we take his lessons and apply them to the world of…"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:url"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"https://www.colbyfayock.com/2020/03/anyone-can-map-inspiration-and-an-introduction-to-the-world-of-mapping/"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:type"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"article"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"article:publisher"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"https://www.colbyfayock.com"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"article:section"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"Coding"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"article:tag"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"Coding"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:image"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"https://res.cloudinary.com/fay/image/upload/w_1280,h_640,c_fill,q_auto,f_auto/w_860,c_fit,co_rgb:232129,g_west,x_80,y_-60,l_text:Source%20Sans%20Pro_70_line_spacing_-10_semibold:Anyone%20Can%20Map!%20Inspiration%20and%20an%20introduction%20to%20the%20world%20of%20mapping/blog-social-card-1.1"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:image:secure_url"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"https://res.cloudinary.com/fay/image/upload/w_1280,h_640,c_fill,q_auto,f_auto/w_860,c_fit,co_rgb:232129,g_west,x_80,y_-60,l_text:Source%20Sans%20Pro_70_line_spacing_-10_semibold:Anyone%20Can%20Map!%20Inspiration%20and%20an%20introduction%20to%20the%20world%20of%20mapping/blog-social-card-1.1"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:image:width"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"1280"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"og:image:height"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"640"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"twitter:card"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"summary_large_image"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"twitter:image"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"https://res.cloudinary.com/fay/image/upload/w_1280,h_640,c_fill,q_auto,f_auto/w_860,c_fit,co_rgb:232129,g_west,x_80,y_-60,l_text:Source%20Sans%20Pro_70_line_spacing_-10_semibold:Anyone%20Can%20Map!%20Inspiration%20and%20an%20introduction%20to%20the%20world%20of%20mapping/blog-social-card-1.1"</span> /&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">meta</span> <span class="hljs-attr">property</span>=<span class="hljs-string">"twitter:site"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"@colbyfayock"</span> /&gt;</span>
</code></pre>
<h2 id="heading-looking-for-other-ways-to-optimize-and-analyze-your-content">Looking for other ways to optimize and analyze your content?</h2>
<ul>
<li><a target="_blank" href="https://www.freecodecamp.org/news/how-to-add-a-social-media-image-to-your-github-project/">How to Add a Social Media Image to Your Github Project Repository</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/making-sense-of-google-analytics-and-the-traffic-to-your-website/">How to Make Sense of Google Analytics and the Traffic to Your Website</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/how-to-set-up-and-track-youtube-channel-performance-with-google-analytics/">How to set up and track YouTube Channel performance with Google Analytics</a></li>
</ul>
<div id="colbyfayock-author-card">
  <p>
    <a href="https://twitter.com/colbyfayock">
      <img src="https://res.cloudinary.com/fay/image/upload/w_2000,h_400,c_fill,q_auto,f_auto/w_1020,c_fit,co_rgb:007079,g_north_west,x_635,y_70,l_text:Source%20Sans%20Pro_64_line_spacing_-10_bold:Colby%20Fayock/w_1020,c_fit,co_rgb:383f43,g_west,x_635,y_6,l_text:Source%20Sans%20Pro_44_line_spacing_0_normal:Follow%20me%20for%20more%20JavaScript%252c%20UX%252c%20and%20other%20interesting%20things!/w_1020,c_fit,co_rgb:007079,g_south_west,x_635,y_70,l_text:Source%20Sans%20Pro_40_line_spacing_-10_semibold:colbyfayock.com/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_68,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_145,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_222,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_295,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/v1/social-footer-card" alt="Follow me for more Javascript, UX, and other interesting things!" width="2000" height="400" loading="lazy">
    </a>
  </p>
  <ul>
    <li>
      <a href="https://twitter.com/colbyfayock">? Follow Me On Twitter</a>
    </li>
    <li>
      <a href="https://youtube.com/colbyfayock">?️ Subscribe To My Youtube</a>
    </li>
    <li>
      <a href="https://www.colbyfayock.com/newsletter/">✉️ Sign Up For My Newsletter</a>
    </li>
  </ul>
</div>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to use Google Tag Manager to maintain Google Analytics and other marketing tags ]]>
                </title>
                <description>
                    <![CDATA[ Managing code snippets and pixels on your website or app to measure traffic can be a little bit stressful, especially if you have a marketing team that constantly needs to make changes. Luckily, there are tools out there like Google Tag Manager that ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-use-google-tag-manager-to-maintain-google-analytics-and-other-marketing-tags/</link>
                <guid isPermaLink="false">66b8e377c9bc6d235bb126b0</guid>
                
                    <category>
                        <![CDATA[ analytics ]]>
                    </category>
                
                    <category>
                        <![CDATA[ #content marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Digital Marketing  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ front end ]]>
                    </category>
                
                    <category>
                        <![CDATA[ frontend ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Google ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Google Analytics ]]>
                    </category>
                
                    <category>
                        <![CDATA[ google tag manager ]]>
                    </category>
                
                    <category>
                        <![CDATA[ marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ #reporting ]]>
                    </category>
                
                    <category>
                        <![CDATA[ SEO ]]>
                    </category>
                
                    <category>
                        <![CDATA[ website development, ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Colby Fayock ]]>
                </dc:creator>
                <pubDate>Wed, 20 Nov 2019 16:04:05 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/11/take-control-of-your-marketing-tags.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Managing code snippets and pixels on your website or app to measure traffic can be a little bit stressful, especially if you have a marketing team that constantly needs to make changes. Luckily, there are tools out there like Google Tag Manager that will make them a little easier to wrangle.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/giphy.gif" alt="Image" width="600" height="400" loading="lazy">
<em>Sandy wrangling</em></p>
<h2 id="heading-what-is-google-tag-manager"><strong>What is Google Tag Manager?</strong></h2>
<p>If you’ve ever worked with any kind of analytics software, or you have worked with a marketing team before, you’ve probably heard the word pixel thrown around. A pixel is literally what it sounds like: a 1x1 image that sends information to a server through an image request.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-analytics-pixel-request.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Analytics pixel request</em></p>
<p>Though pixels are still common, many teams have moved towards small javascript snippets that sit right along side the rest of your HTML. They will allow software like Google Analytics to run their own scripts on your page, sometimes even with a pixel backup, in the event that a browser doesn't run JavaScript.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/crazy-egg-tracking-snippet.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Crazy Egg snippet</em></p>
<p>These pixels and snippets work great. But when you’re dealing with a bunch of them and they all use the same data, it might seem like you’re just adding to an unmanageable mess of single use code snippets that never feel like they’re in the right place.</p>
<p>Google Tag Manager, or GTM, is a software solution to manage these pixels and snippets for you. To start, GTM works pretty much like any of those other code snippets, as it’s a code snippet itself. But where it shines is that you get to manage the rest of those pixels and snippets along with the flow of data inside GTM, leaving it to be the only snippet to manage within your code.</p>
<h2 id="heading-why-do-i-want-to-use-it"><strong>Why do I want to use it?</strong></h2>
<h3 id="heading-fewer-code-changes-fewer-deploys"><strong>Fewer code changes, Fewer deploys</strong></h3>
<p>Most of the time, if you’re managing these snippets in your code, each change will require another merge request and another deploy to get the changes out. Not only does this add more risk, as you need to make yet another change to the code, but this is additional time spent dealing with your deploy pipeline and making sure everything is working as it should be. </p>
<p>GTM allows you to break outside of that flow, giving you more flexibility to get changes out that could give some needed insight into fixing some UI errors or could add a few bucks to the bottom line.</p>
<h3 id="heading-more-manageable-data-flow"><strong>More manageable data flow</strong></h3>
<p>Wrangling all the different variables throughout your application, making sure they’re all available in the right spot, and keeping up with avoiding breaking any changes can prove to be challenging. This also makes your code more fragile and prone to breaking. </p>
<p>Google Tag Manager utilizes what they call a <code>dataLayer</code>, which essentially functions like an array of events that it listens to. This allows you to push or seed new data to make available within GTM itself. And it means you’re funneling all of your variables to one spot in the code. This lets whoever manages GTM do the rest – they can use that data with peace of mind, knowing that your data flow won’t break after forgetting to update 1 out of 10 spots.</p>
<h3 id="heading-ability-to-give-marketers-a-little-more-access"><strong>Ability to give marketers a little more access</strong></h3>
<p>This is an opportunity to free up some of your time by letting the marketing team deal with tag changes themselves rather than you being the middle man for them. Perhaps they need to adjust the ID for your analytics software or maybe they want to add <a target="_blank" href="https://www.crazyegg.com/">Crazy Egg</a>. With the right permissions (explained later), they can do all of the work and send the changes to you for review before publishing them.</p>
<h2 id="heading-how-does-this-relate-to-google-analytics"><strong>How does this relate to Google Analytics?</strong></h2>
<p>There is no direct relation. But along with Google Analytics, GTM is another tool in the Google Marketing Platform and gives you the immediate ability to more easily manage your Google Analytics installation. GA comes with prebuilt tags inside GTM that make it a breeze to set up.</p>
<h2 id="heading-what-else-can-i-use-this-for"><strong>What else can I use this for?</strong></h2>
<p>Google Analytics is just one of many code snippets this can be used for. Ideally, you’re not going to write your entire site here. But you have the ability to pretty much do whatever you want on your own site as long as <a target="_blank" href="https://support.google.com/tagmanager/answer/6328489?hl=en">Google doesn’t deem it malware</a>.</p>
<p>Some other use cases include:</p>
<ul>
<li>Traffic visualization with <a target="_blank" href="https://www.crazyegg.com/">Crazy Egg</a> or <a target="_blank" href="https://www.hotjar.com/">Hot Jar</a></li>
<li>Conversion and remarketing pixels with <a target="_blank" href="https://ads.google.com/home/">Google Ads</a></li>
<li>A/B Testing with <a target="_blank" href="https://marketingplatform.google.com/about/optimize/">Google Optimize</a> or <a target="_blank" href="https://www.abtasty.com/">AB Tasty</a></li>
<li><a target="_blank" href="https://support.google.com/tagmanager/answer/7679411?hl=en">Client side error</a> tracking (and logging them)</li>
<li>GDPR compliance management</li>
</ul>
<p>There are many baked-in like the examples above, meaning you don’t even need to mess with code. Just add the IDs or settings and go. But for whatever custom solution or tag you need, you can always set up the HTML manually.</p>
<h2 id="heading-anything-i-need-to-know-before-jumping-in"><strong>Anything I need to know before jumping in?</strong></h2>
<p>Before jumping right in, let’s familiarize ourselves with a few key terms that will make this ride a little easier.</p>
<h3 id="heading-tags"><strong>Tags</strong></h3>
<p>Tags in GTM are your pixels or code snippets. A tag includes a single instance of a contained piece of code that is used for one function.</p>
<p><em>Example:</em> your Google Analytics snippet will be one tag and if you add Crazy Egg, that will be another tag.</p>
<h3 id="heading-variables"><strong>Variables</strong></h3>
<p>A variable is a name that you give a predetermined or dynamic value. The variable can be based on a variety of different things, hence the name “variable”. But it will function as a single name that you can give and reference that will never change when using it.</p>
<p><em>Example:</em> we’ll set up your Google Analytics ID as a variable, meaning you’ll use that variable within the GA tag itself. If you ever need to update that ID, you won’t need to modify the tag or any other tags that use the variable – you’ll only need to update the variable itself.</p>
<h3 id="heading-triggers"><strong>Triggers</strong></h3>
<p>Triggers are the event or action that make your tag fire or load. This can happen in a variety of ways, such as when all or a specific page loads, when something is clicked, or when you have a <a target="_blank" href="https://support.google.com/tagmanager/answer/7679219?hl=en">completely custom event</a> you fire with Javascript.</p>
<p><em>Example:</em> when we set up Google Analytics, our trigger will be when any page loads.</p>
<h3 id="heading-container"><strong>Container</strong></h3>
<p>GTM allows you to manage multiple “containers” or groups of tags within your organization. This is helpful when you have one company with a few different website properties.</p>
<p><em>Example:</em> you’re a small company under a parent company. The parent company wants to maintain one organization, but each smaller company gets their own container, as they have their individual needs for tags and code snippets.</p>
<h2 id="heading-how-do-i-get-set-up"><strong>How do I get set up?</strong></h2>
<h3 id="heading-getting-your-account-set-up"><strong>Getting your account set up</strong></h3>
<p>The first thing you’ll need to do is get your account set up. After getting to the <a target="_blank" href="https://tagmanager.google.com/">tag manager homepage</a>, you’ll probably want to use your preexisting Google account. If you’re in an organization setting it up for the organization, you most likely want to use your business email, otherwise your personal account works okay too.</p>
<p>Next, create a new GTM account:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-new-account.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager new account</em></p>
<p>Once there, fill out the form appropriately. The Account Name should represent the top level of your hierarchy and the container name should represent the specific installation instance.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-new-account-container.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager new account container</em></p>
<p>As for the target platform, choose whichever makes sense. If it’s a website or web app, Web makes the most sense here.</p>
<h3 id="heading-finding-and-installing-your-snippet"><strong>Finding and installing your snippet</strong></h3>
<p>As soon as you accept the terms and hit create, you’ll be presented with a snippet in a little modal. You'll want to do exactly what it says and install the snippets per the instructions.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-install-snippet.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager install snippet</em></p>
<p>Didn’t get the screen or accidentally exited out? You can find your snippet again by navigating to Admin in the top navbar and then click Install Google Tag Manager under Container to the right.</p>
<h3 id="heading-testing-that-its-working"><strong>Testing that it’s working</strong></h3>
<p>To make sure it’s working, let’s verify a few things:</p>
<ul>
<li>We created our account</li>
<li>We created our container</li>
<li>We installed the Google Tag Manager snippets on our page and the change are live</li>
</ul>
<p>Once all of those things are true, go ahead and click the Preview button in the top right of the page.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-preview.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager preview</em></p>
<p>If successful, you’ll now see an orange banner at the top of the page that says you’re in Preview Mode:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-preview-mode.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager preview mode</em></p>
<p>Now wander over to the website that you installed GTM on and you should now see a banner at the bottom of the page. This will serve as your Debugger for working with GTM’s Preview.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-debugger.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager debugger</em></p>
<p>You should see something similar to that, which means it worked! ?</p>
<p>Note: if you have an ad blocker on, similar to GA, you may need to disable it on the page you’re installing on in order to see it working.</p>
<h2 id="heading-cool-its-working-what-about-google-analytics"><strong>Cool, it’s working, what about Google Analytics?</strong></h2>
<p>Now that we have a basic installation of GTM working, let’s set up Google Analytics. First we'll want to do some prep, so let's jump back over to the Tag Manager dashboard.</p>
<h3 id="heading-create-a-settings-variable"><strong>Create a settings variable</strong></h3>
<p>Navigate to Variables in the left sidebar and then click New beside User-Defined Variables.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-new-variable.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager new variable</em></p>
<p>For the name, enter “GA Settings” and under Variable Type, click through and select Google Analytics Settings. Enter your Google Analytics Tracking ID (or Property ID) in the appropriate field, and finally click Save, at which point you have your new settings variable.</p>
<h3 id="heading-create-a-new-ga-tag"><strong>Create a new GA tag</strong></h3>
<p>Navigate to Tags in the left sidebar and then click New beside Tags.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-new-tag.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager new tag</em></p>
<p>For the name, enter “GA - All Pages”. Under Tag Type, click and select Google Analytics: Universal Analytics in the panel that pops out from the right.</p>
<p>After selecting the tag type, under Google Analytics Settings, select your variable from the previous step, which if you followed along will be called “GA Settings”.</p>
<p>Next, click in the middle of the Triggering box, which should open a new UI to select a trigger.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-trigger.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager trigger</em></p>
<p>Select All Pages, which should be the only Trigger there if you’re in a new account. It will take you back to the New Tag UI with your newly selected trigger.</p>
<p>Once the above is done, click Save in the top right of the UI which will then save and create your new Google Analytics tag.</p>
<h3 id="heading-test-that-gtm-is-working"><strong>Test that GTM is working</strong></h3>
<p>Similar to when we installed GTM to begin with, let’s go back to the Workspace home by clicking Overview in the left sidebar. Then click Preview at the top right.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-debugger-google-analytics.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager debugger with Google Analytics</em></p>
<p>Open up your page GTM is installed on and you should once again see your Debugger, but this time with the Google Analytics Tag loading.</p>
<h2 id="heading-are-we-done-yet"><strong>Are we done yet?</strong></h2>
<p>Not quite. Although we have GA working, we need to tweak the configuration to make sure GA and GTM work correctly together.</p>
<h3 id="heading-updating-the-page-snippet"><strong>Updating the page snippet</strong></h3>
<p>Let’s dig into the code one more time to update our Google Analytics and Google Tag Manager snippets.</p>
<p>The issue with the installation that we set up here is that we installed GA through the GA instructions and GA inside GTM. This means we have GA installed twice. In practice, GA may send 1 pageview from your default installation and then another via GTM. To avoid this, we want to remove the pageview from the default GA snippet.</p>
<p>If you just have a super basic default installation, I did the work for you and you can go ahead and copy the snippet below. Replace <code>[YOUR GA PROPERTY ID]</code> with your GA Property ID and <code>[YOUR GTM CONTAINER ID]</code> with your GTM Container ID, and swap it out for your existing GA and GTM installation on your page.</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">script</span>&gt;</span><span class="javascript">
<span class="hljs-comment">// Set up an initial dataLayer configuration</span>
<span class="hljs-built_in">window</span>.dataLayer = <span class="hljs-built_in">window</span>.dataLayer || [{
  <span class="hljs-string">"gaPropertyId"</span>: <span class="hljs-string">"[YOUR GA PROPERTY ID]"</span>
}];

<span class="hljs-comment">// Configure gtag and your GA ID</span>
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">gtag</span>(<span class="hljs-params"></span>)</span>{dataLayer.push(<span class="hljs-built_in">arguments</span>);}
gtag(<span class="hljs-string">'js'</span>, <span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>());
gtag(<span class="hljs-string">'config'</span>, <span class="hljs-string">'[YOUR GA PROPERTY ID]'</span>);

<span class="hljs-comment">// Google Tag Manager snippet</span>
(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">w,d,s,l,i</span>)</span>{w[l]=w[l]||[];w[l].push({<span class="hljs-string">'gtm.start'</span>:
<span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>().getTime(),<span class="hljs-attr">event</span>:<span class="hljs-string">'gtm.js'</span>});<span class="hljs-keyword">var</span> f=d.getElementsByTagName(s)[<span class="hljs-number">0</span>],
j=d.createElement(s),dl=l!=<span class="hljs-string">'dataLayer'</span>?<span class="hljs-string">'&amp;l='</span>+l:<span class="hljs-string">''</span>;j.async=<span class="hljs-literal">true</span>;j.src=
<span class="hljs-string">'https://www.googletagmanager.com/gtm.js?id='</span>+i+dl+<span class="hljs-string">'&amp;gtm_cookies_win=x'</span>;f.parentNode.insertBefore(j,f);
})(<span class="hljs-built_in">window</span>,<span class="hljs-built_in">document</span>,<span class="hljs-string">'script'</span>,<span class="hljs-string">'dataLayer'</span>, <span class="hljs-string">'[YOUR GTM CONTAINER ID]'</span>);
</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
</code></pre>
<p>This should REPLACE your current Google Analytics snippet if you have one. If you don't, this should go as far in the top of your <code>&lt;head&gt;</code> tag as you can, but under the <code>charset</code> meta tag.</p>
<p>For more advanced users, just make sure you’re not sending duplicate pageviews or duplicate events between the page snippet and any GTM tag you create.</p>
<h3 id="heading-test-that-ga-is-working"><strong>Test that GA is working</strong></h3>
<p>Follow the steps above to make sure GA is showing up with the debugger.</p>
<p>The final thing you’ll want to do is make sure your installation is working using <a target="_blank" href="https://chrome.google.com/webstore/detail/tag-assistant-by-google/kejbdjndbnbjgmefkgdddjlbokphdefk?hl=en">Google’s Tag Assistant extension</a>. Once you install the extension, go back to your page and click Enable in the Extension’s UI.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-assistant-record.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Assistant enable recording</em></p>
<p>Refresh the page and you should see 2 tags, GA and GTM.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-assistant-results.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Assistant results</em></p>
<p>If you notice, my GA tag is blue and yours may be too. Click in to Google Analytics for more info.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-assistant-implementation.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Assistant non-standard implementation</em></p>
<p>As you can see, we have a healthy 1 Pageview Request and a note that says Non-standard implementation (hence the blue) This is because we installed it with GTM instead of the default on page.</p>
<h2 id="heading-publish-and-deploy"><strong>Publish and Deploy!</strong></h2>
<p>We’re there! Last step is to Publish your Container and make the changes live.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-submit.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager submit version</em></p>
<p>Click Submit in the Overview UI, enter a name and description.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/11/google-tag-manager-version-configuration.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Google Tag Manager version configuration</em></p>
<p>Finally click Publish and your changes will be live on your site!</p>
<h2 id="heading-what-else-do-i-need-to-know"><strong>What else do I need to know?</strong></h2>
<p>There’s plenty more to talk through, but that’s for a different day. There are a ton of resources online to get you started with adding your own new tags and exploring the capabilities of Google Analytics, but here are a few points to keep in mind with GTM.</p>
<h3 id="heading-permissions"><strong>Permissions</strong></h3>
<p>You most likely don’t want every marketer on your 1,000 person team to have publish access to your GTM container. It’s best to have one or a few people responsible for managing the container, reviewing, and publishing while keeping everyone else to a lower access role. This will help prevent accidental changes or abuse within a bigger team.</p>
<h3 id="heading-security"><strong>Security</strong></h3>
<p>Permissions are your first step towards maintaining a secure installation. But Google takes this an extra step and performs some actions for you, such as checking for code errors and <a target="_blank" href="https://support.google.com/tagmanager/answer/6328489?hl=en">scanning for malware</a>. While this is great, it’s still important to keep an active review cycle of tags getting published, just like any other pieces of code, to make sure the site integrity and health remain in tact.</p>
<h3 id="heading-conventions"><strong>Conventions</strong></h3>
<p>I highly recommend starting early with naming conventions and best practices when configuring your tags, variables, triggers, and really anything within GTM. The different ways to name things can spiral out of control really quickly, depending on how many people are working in there. This will make your work difficult to find, so it’s best to agree with the team on a convention to use early and get off on the right foot.</p>
<h3 id="heading-single-page-apps"><strong>Single Page Apps</strong></h3>
<p>This doesn’t account for the impact single page apps have on a GTM and GA setup. The trigger we set up here will fire when any page loads, which is defined by a new page load by the browser. Single page apps don’t actually load a new page – rather, the JavaScript within the app makes it appear that a new page loads, so the trigger here will only fire the first pageview. Though it doesn’t include information directly usable in GTM, the GA documentation has <a target="_blank" href="https://developers.google.com/analytics/devguides/collection/analyticsjs/single-page-applications">some good information</a> about tracking these types of apps.</p>
<h3 id="heading-gdpr"><strong>GDPR</strong></h3>
<p>While GTM alone does not (currently) violate GDPR, you still need to be cognizant of how any of the tags you use impact your standing. This guide doesn’t touch this, so please make sure to do your homework.</p>
<h3 id="heading-exiting-out-of-debugger"><strong>Exiting out of Debugger</strong></h3>
<p>Stuck? One way is to clear your cookies, but you should always be able to go to the GTM Overview page and hit "Leave Preview Mode” right under the orange Preview Mode banner at the top of the page.</p>
<h2 id="heading-whats-next"><strong>What's next?</strong></h2>
<p>From here, you can start managing your tags and pixels through GTM, which allows you to have a single source of consistent data flow into those tags. Experiment and use the debugger to play around, as it opens the door for a lot of new ways to work with the marketing side of things.</p>
<div id="colbyfayock-author-card">
  <p>
    <a href="https://twitter.com/colbyfayock">
      <img src="https://res.cloudinary.com/fay/image/upload/w_2000,h_400,c_fill,q_auto,f_auto/w_1020,c_fit,co_rgb:007079,g_north_west,x_635,y_70,l_text:Source%20Sans%20Pro_64_line_spacing_-10_bold:Colby%20Fayock/w_1020,c_fit,co_rgb:383f43,g_west,x_635,y_6,l_text:Source%20Sans%20Pro_44_line_spacing_0_normal:Follow%20me%20for%20more%20JavaScript%252c%20UX%252c%20and%20other%20interesting%20things!/w_1020,c_fit,co_rgb:007079,g_south_west,x_635,y_70,l_text:Source%20Sans%20Pro_40_line_spacing_-10_semibold:colbyfayock.com/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_68,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_145,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_222,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_295,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/v1/social-footer-card" alt="Follow me for more Javascript, UX, and other interesting things!" width="2000" height="400" loading="lazy">
    </a>
  </p>
  <ul>
    <li>
      <a href="https://twitter.com/colbyfayock">? Follow Me On Twitter</a>
    </li>
    <li>
      <a href="https://youtube.com/colbyfayock">?️ Subscribe To My Youtube</a>
    </li>
    <li>
      <a href="https://www.colbyfayock.com/newsletter/">✉️ Sign Up For My Newsletter</a>
    </li>
  </ul>
</div>

<p><em>Originally published at <a target="_blank" href="https://www.colbyfayock.com/2019/11/how-to-use-google-tag-manager-to-maintain-google-analytics-and-other-marketing-tags">https://www.colbyfayock.com/2019/11/how-to-use-google-tag-manager-to-maintain-google-analytics-and-other-marketing-tags</a></em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Increase Your Freelancing Income with Digital Marketing ]]>
                </title>
                <description>
                    <![CDATA[ By Kyle Prinsloo There are a lot of ways we could go with this topic as it’s a huge one, but I just want to cover the nuggets here and make it simple as well as practical to understand and implement. I’m not going to get all fancy with words ]]>
                </description>
                <link>https://www.freecodecamp.org/news/digital-marketing/</link>
                <guid isPermaLink="false">66d4601bf855545810e9349b</guid>
                
                    <category>
                        <![CDATA[ Digital Marketing  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Freelancing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 28 Aug 2019 10:01:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/07/digital-marketing-freecodecamp.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Kyle Prinsloo</p>
<p>There are a lot of ways we could go with this topic as it’s a huge one, but I just want to cover the nuggets here and make it simple as well as practical to understand and implement.</p>
<p>I’m not going to get all fancy with words here. I want to try and explain everything so most people can understand this topic better.</p>
<p>By the end of this article, my goal is that you can see the potential of <a target="_blank" href="https://en.wikipedia.org/wiki/Digital_marketing">digital marketing</a> and how it can help your freelancing career by combining it with web design and development.</p>
<h3 id="heading-what-is-digital-marketing">What is Digital Marketing?</h3>
<p>The ultimate goal of digital marketing is to promote a product/service/brand to the right target audience with the intention of a desired action such as awareness, a sale, a free download, etc.</p>
<p>As a general short summary and for simplicity sake, digital marketing consists of:</p>
<p><strong>AdWords</strong> – The platform to advertise on Google search results.</p>
<p><strong>SEO</strong> – The process of ranking a website higher on Google search results.</p>
<p><strong>Online Advertisements</strong> – Facebook ads, LinkedIn ads, Website ads, etc.</p>
<p><strong>Content Writing</strong> – Writing regular articles for a business – usually with SEO intentions.</p>
<p><strong>Social Media</strong> – Creating relevant social posts to drive traffic to a website.</p>
<h3 id="heading-why-is-digital-marketing-important">Why is Digital Marketing Important?</h3>
<p><img src="https://studywebdevelopment.com/images/digital-marketing-importance.jpg" alt="digital-marketing-importance" width="600" height="400" loading="lazy"></p>
<p>Most <a target="_blank" href="https://studywebdevelopment.com/side-income-freelancing.html">freelance developers</a> experience ‘valleys’ and ‘peaks’ when it comes to their monthly income.</p>
<p>So, one month they might earn a big amount and then next month they might not break-even.</p>
<ul>
<li>Digital marketing skills can help keep your income more consistent, so you can budget more efficiently, and you can sleep in peace knowing you don’t need to start from $0 the next month.</li>
<li>Digital marketing equips you with valuable skills in an industry that is <a target="_blank" href="https://digitalmarketinginstitute.com/blog/4-big-benefits-digital-marketing-career">booming</a>.</li>
<li>Digital marketing helps you offer a more complete solution to your clients.</li>
<li>Digital marketing provides you with more knowledge to create effective websites.</li>
<li>Digital marketing skills help you to create a better personal brand which opens up a lot of doors.</li>
<li>Digital marketing provides you with the knowledge to create your own products and market them effectively online – boosting your chances of success.</li>
<li>Digital marketing helps you stand out from the commodity marketing of those who just create websites.</li>
</ul>
<p>The best type of income is passive income where you don’t need to work, or it requires very little effort to maintain.</p>
<p>But what’s the 2nd best income?</p>
<p>Recurring, predictable income.</p>
<p>I speak to freelancers on a regular basis and many of them earn a high income, but this only lasts for a short time and then their income drops significantly.</p>
<p>So what’s the solution?</p>
<p>Recurring, predictable income.</p>
<p>Bundling your web design skills with digital marketing services helps you achieve this.</p>
<p>Not only does this help you earn a more predictable income each month, but if you create effective websites and create an effective digital marketing campaign for the business, they will have more chance of success.</p>
<p>If you think about why you would be working with a client, the ultimate goal is to get them more sales and digital marketing can help you do just that.</p>
<h3 id="heading-how-do-you-make-money-from-digital-marketing">How Do You Make Money from Digital Marketing?</h3>
<p><img src="https://studywebdevelopment.com/images/make-money-digital-marketing.jpg" alt="make-money-digital-marketing" width="600" height="400" loading="lazy"></p>
<p>First, you need knowledge.</p>
<p>I recommend a few learning resources at the end of this article for those who don’t understand AdWords, SEO, etc.</p>
<p>Once you know enough where you feel confident, you are ready.</p>
<p>I find that a lot of people are very hesitant to start because they wait until they are almost perfect at something.</p>
<p>Don’t wait until you are the ‘Yoda’ of a particular skill. Just know enough that you don’t have to feel like some kind of fraud, then it’s time to take the next step.</p>
<p>Start, fail, learn along the way and adapt; this is key to succeeding.</p>
<p><strong>Breakdown for earning $1,000 per month:</strong></p>
<ul>
<li>Get 1 client paying you $1,000 per month.</li>
<li>Get 2 clients paying you $500 per month.</li>
<li>Get 4 clients paying you $250 per month.</li>
</ul>
<p><strong>Breakdown for earning $3,000 per month:</strong></p>
<ul>
<li>Get 1 client paying you $3,000 per month.</li>
<li>Get 2 clients paying you $1,500 per month.</li>
<li>Get 3 clients paying you $1,000 per month.</li>
</ul>
<p>Depending on which option you choose, your services can also be adjusted.</p>
<p>The tasks you offer to earn $1k and $3k per month are pretty much the same.</p>
<p>The only difference is the time you’ll be dedicating to a client.</p>
<p>So, if Client A pays you $1,500 per month versus Client B paying you $250 per month, obviously you’ll be dedicating more time and providing a more comprehensive service to client A.</p>
<h3 id="heading-action-steps">Action Steps:</h3>
<ol>
<li>Figure out how much I want to earn monthly ($5,000 as an example).</li>
<li>Target a small, competitive niche like solar panel companies.</li>
<li>Create an industry analysis report where I analyze the market, competitors, and websites.</li>
<li>Position myself as an expert in this niche through building an effective online presence.</li>
<li>Compile a digital marketing retainer package of services for $1,250 per client aimed at improving sales in the solar panel niche. (This could be web development improvements, AdWords, content marketing, SEO, design, etc.)</li>
<li>Sign up 4 clients paying $1,250 each ($5,000 per month).</li>
</ol>
<p>I would then work 2 hours per day, per client, which equals a full day’s work (8 hours).</p>
<h3 id="heading-how-to-find-digital-marketing-clients">How to Find Digital Marketing Clients</h3>
<p><img src="https://studywebdevelopment.com/images/getting-digital-marketing-clients.jpg" alt="getting-digital-marketing-clients" width="600" height="400" loading="lazy"></p>
<p>The truth is that anyone can get clients.</p>
<p>You actually don’t want clients.</p>
<p>You want the <strong><em>right</em></strong> clients that pay you a good amount of income on a consistent basis.</p>
<p>Does this sound better?</p>
<p>So, how do you get these clients?</p>
<p>It’s important to think how the potential client would think.</p>
<p>You want to offer them services, but why?</p>
<p>Just so you can get paid and go on nice holidays?</p>
<p>Of course not…</p>
<p>The business wants to make a profit and all they want to know is how you can help improve or grow their business.</p>
<p>I come across portfolio sites all the time…</p>
<p>The person is always quick to mention their skills and how knowledgable they are at a particular skill, but their website navigation, color theme and layout is terrible and they still don’t understand why they are not getting clients.</p>
<p>Are you an expert at Frontend Development?</p>
<p>Excellent…</p>
<p>But if your design skills, communication skills and lack of best practice knowledge is below average, then why do you think you are not getting clients?</p>
<p>Look introspectively. Get a second opinion about your skills from a friend or someone who will tell you the blunt truth. Take constructive criticism and see where you can improve.</p>
<p>To create a visual analogy of this topic, it’s much like this scenario:</p>
<p>You are on a small kayak trying to get to the other side of the river. Your main focus is on getting an oar to row to the other side, but what you are not focused on is fixing the small hole inside the kayak so that it doesn’t sink half way.</p>
<p>Getting clients is the oar.</p>
<p>The hole is everything else you need to get right.</p>
<p>Worry about repairing the hole first, then use the oar.</p>
<p><strong>TRUST / DOUBT</strong></p>
<p>If a client can’t see that your own website looks professional and well thought out, why should they trust that you can create an effective website and improve their online presence with digital marketing as well?</p>
<p>Why should they trust that you can deliver on a project if you don’t have any testimonials or client success stories?</p>
<p>Think about this practically.</p>
<p>If you wanted to buy Bluetooth headphones online and you came across a website that looks bad and their social media accounts only have 50 followers compared with a good looking professional website, thousands of followers and even priced 10% higher, who would you buy from?</p>
<p>The one who you trust more…</p>
<p>It’s no different with how a client thinks.</p>
<p>You can either create trust or doubt.</p>
<p>The question is, which one is happening for you?</p>
<p>After you realize the importance of trust, how do you build trust?</p>
<p>There are 2 main ways:</p>
<ol>
<li>A good, professional website/portfolio design</li>
<li>Client testimonials</li>
</ol>
<p><strong>WEBSITE PORTFOLIO:</strong></p>
<p>To create an effective website/portfolio site, you need to think different to what most web designer/developers do.</p>
<p>They think of their portfolio site as a CV/Resume of some sort. They showcase their skills like this:</p>
<p>HTML + CSS = 90%</p>
<p>SEO = 80%</p>
<p>Design = 85%</p>
<p>etc.</p>
<p>Some of them also write blog articles. What’s funny is that these articles are all about web development related topics.</p>
<p>This is the wrong angle completely.</p>
<p>Your portfolio site needs to be focused on how you can provide a solution to a business and it needs to showcase your expertise along with your skills, but in a way that makes sense to the potential client.</p>
<p>Here’s a rough outline of a portfolio site that is focused around the client:</p>
<p><img src="https://studywebdevelopment.com/images/portfolio-example-site.jpg" alt="portfolio-example-site" width="600" height="400" loading="lazy"></p>
<p>It’s very simple, but you’ll notice that it makes sense and the main focus is on helping the client’s business grow and then getting a quote request.</p>
<p>This is much better than the “CV” based portfolios.</p>
<p><strong>TESTIMONIALS:</strong></p>
<p>To get client testimonials, you need to have done previous client work.</p>
<p>What if you haven’t done any previous client work?</p>
<p>Simple: Do work for free in exchange for testimonials.</p>
<p>So many people always dispute working for free and they create long articles about why it’s bad, etc. Firstly, it’s not a year of your life and secondly, it works.</p>
<p>What’s better? A paying client that you can’t find or just doing 2 good looking websites for free in exchange for testimonials so that this convinces other potential clients to pay you?</p>
<p>Some examples of businesses to approach for a free website:</p>
<ul>
<li>A local NGO or charity</li>
<li>A small coffee shop or restaurant</li>
<li>A small local business</li>
<li>Helping a friend/family with their website</li>
</ul>
<p>After you’ve laid this foundation, it now comes to actually GETTING the clients.</p>
<p>Contrary to popular belief, it does actually require work to do this.</p>
<p>If you have already done work for previous/existing clients, send them this email:</p>
<p><em>Hi [name],</em></p>
<p><em>I hope you are doing well.</em></p>
<p><em>I just wanted to find out if you are planning to make additional changes to [website name] that I can assist you with?</em></p>
<p><em>Thanks, and have a great weekend coming up</em> <em>J</em></p>
<p><em>Regards,</em></p>
<p><em>[your name]</em></p>
<p><em>PS – if you have a friend in business who needs a website, I’d love if you could put me in touch with them</em> <em>J</em></p>
<p>If you are starting from scratch, do this:</p>
<ol>
<li>Type a search term in on Google. Let’s say “landscapers in Milwaukee, Wisconsin”</li>
<li>You’ll notice there will be 3 or 4 ads right at the top and 2 or 3 right at the bottom.</li>
<li>Click on each of these ads and take note of the following: the page you land on and their overall website.</li>
<li>If you notice the page you land on is not convincing enough with a clear call-to-action (request a quote/call us), then that’s good news.</li>
<li>If you notice their website is not created well, that’s good news.</li>
<li>Now it’s time for you to email them.</li>
</ol>
<p>You can email them this:</p>
<p><em>Hi [name or company name],</em></p>
<p><em>I recently came across your website after searching for [the search term you used].</em></p>
<p><em>I noticed you don’t have any effective call-to-actions such as a contact form or any social proof to create credibility which will help you get more interested sales leads.</em></p>
<p><em>I’d love to setup a call to discuss how I can help improve the sales of your business through effective web design changes.</em></p>
<p><em>If you have any questions, feel free to contact me.</em></p>
<p><em>For more information about my expertise, here is my website: [www.mywebsite.com]</em></p>
<p><em>Thank you and I look forward to your feedback.</em></p>
<p><em>Regards,</em></p>
<p><em>[your name]</em></p>
<p>Note: this strategy also works if you look for poster ads in the yellow pages/online directories.</p>
<p>The other common and often overlooked ways to get clients are:</p>
<ul>
<li>Letting your family friends know that you now make websites and you can help market the website using digital marketing.</li>
<li>Going to local business meetups (not developer meetups) as this is where you can make connections. The moment that you mention you help businesses improve their websites so they can get more sales, you’ll get more interest and people saying they want to chat with you about their site.</li>
</ul>
<p><strong>Specialization and Finding a Niche</strong></p>
<p>This is quite a big topic by itself, so here's a summary:</p>
<p><a target="_blank" href="https://www.smilemarketing.com/">Smile Marketing</a> – Website design and marketing for dentists</p>
<p><a target="_blank" href="http://www.chiromox.com/">ChiroMox</a> – Website design and marketing for chiropractors</p>
<p><a target="_blank" href="https://www.paperstreet.com/">Paperstreet</a> – Website design and marketing for lawyers</p>
<p><a target="_blank" href="https://golfwebdesign.com/">GolfWebDesign</a> – Website design and marketing for golfers</p>
<p>Each of these websites have a team behind them as well as a waiting list of clients and they charge premium prices as well.</p>
<p>Why are they so successful?</p>
<p>They are seen as experts because they have specialized in one niche.</p>
<p>Does this make you think a bit?</p>
<p>The only way to move OUT of the commodity market and IN to an abundance of clients is if you niche down.</p>
<p>It’s significantly more difficult to earn a large income by creating websites for every single business niche out there.</p>
<p><strong>To summarize:</strong></p>
<ol>
<li>Build more trust</li>
<li>Fix any “holes” in your kayak</li>
<li>Position yourself as an expert and niche down</li>
<li>Strategically approach those within your niche</li>
<li>Keep growing and building authority in your niche</li>
</ol>
<p>Wouldn’t it be cool to show a prospective client this:</p>
<ul>
<li>I’ve helped XYZ business increase their SEO market share to become the top 3 ranked website for their industry within 8 months.</li>
<li>I’ve helped XYZ business increase their sales by 57% in 4 months by creating effective AdWords campaigns with improvements to the website.</li>
<li>XYZ business received a 400% increase in quote requests after improving their landing page, SEO and online advertisements.</li>
</ul>
<p>It’s much better than ‘I create websites’ – right?</p>
<h3 id="heading-studying-digital-marketing">Studying Digital Marketing</h3>
<p><img src="https://studywebdevelopment.com/images/learning-digital-marketing.jpg" alt="learning-digital-marketing" width="600" height="400" loading="lazy"></p>
<p>There are plenty of places to learn <a target="_blank" href="https://learntocodewith.me/posts/developers-digital-marketing/">digital marketing</a>, but these are my recommendations:</p>
<p><strong>Read these blogs:</strong></p>
<p>ViperChill.com</p>
<p>Backlinko.com</p>
<p>Gaps.com</p>
<p><strong>If you prefer courses, consider investing in these:</strong></p>
<p><a target="_blank" href="https://generalassemb.ly/education/digital-marketing?utm_medium=affiliate-lead-gen-global&amp;utm_campaign=2017-q4-affiliate-lead-gen-[global]-study-web-development-affiliate&amp;utm_source=study-web-development">Digital Marketing Accelerated Course</a></p>
<p><a target="_blank" href="https://generalassemb.ly/education/learn-digital-marketing-online?utm_medium=affiliate-lead-gen-global&amp;utm_campaign=2017-q4-affiliate-lead-gen-[global]-study-web-development-affiliate&amp;utm_source=study-web-development">Digital Marketing Circuit</a></p>
<p><a target="_blank" href="https://click.linksynergy.com/deeplink?id=QqcN8lE0l0I&amp;mid=39197&amp;murl=https%3A%2F%2Fwww.udemy.com%2Fthe-ultimate-google-adwords-training-course%2F">Ultimate Google AdWords Course</a></p>
<p><a target="_blank" href="https://click.linksynergy.com/deeplink?id=QqcN8lE0l0I&amp;mid=39197&amp;murl=https%3A%2F%2Fwww.udemy.com%2Fsearch-engine-optimization-for-beginners-seo-that-works%2F">Complete SEO Training</a></p>
<p><a target="_blank" href="https://click.linksynergy.com/deeplink?id=QqcN8lE0l0I&amp;mid=39197&amp;murl=https%3A%2F%2Fwww.udemy.com%2Fsocial-media-marketing-ads%2F">Social Media Marketing Mastery</a></p>
<p><a target="_blank" href="https://generalassemb.ly/education/learn-user-experience-design-online?utm_medium=affiliate-lead-gen-global&amp;utm_campaign=2017-q4-affiliate-lead-gen-[global]-study-web-development-affiliate&amp;utm_source=study-web-development">UX Design Circuit</a></p>
<p>I hope you found this article helpful and you can see the difference that digital marketing can make to your freelancing career :)</p>
<p>If you’d like to learn more about this, check out my <a target="_blank" href="https://studywebdevelopment.com/freelancing.html">freelancing bundle</a>.</p>
<p>Until next time,</p>
<p>Kyle</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Freelancing 101: How to Start Earning Your Side-income as a Developer ]]>
                </title>
                <description>
                    <![CDATA[ By Kyle Prinsloo Even if you're working full time, you may still want to earn a side income. That's where freelancing comes in. Maybe you need the extra cash to get by each month. Or maybe you just want to save up for a big vacation.  Either way, the... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/freelancing-101/</link>
                <guid isPermaLink="false">66d4601f33b83c4378a517f8</guid>
                
                    <category>
                        <![CDATA[ Digital Marketing  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Freelancing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ pricing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 21 Aug 2019 10:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/07/freelancing-freecodecamp.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Kyle Prinsloo</p>
<p>Even if you're working full time, you may still want to earn a side income. That's where freelancing comes in.</p>
<p>Maybe you need the extra cash to get by each month. Or maybe you just want to save up for a big vacation.  Either way, the steps in this article will help you do just that.</p>
<p>Today you’re going to learn how to earn a <a target="_blank" href="https://studywebdevelopment.com/side-income-freelancing.html">side income</a> through freelancing (in your pajamas).</p>
<h3 id="heading-without-further-ado-here-are-the-5-steps-to-earn-your-side-income">Without further ado, here are the 5 steps to earn your side income:</h3>
<ol>
<li>Figure out what service you can offer.</li>
<li>Determine your ideal clients and target market.</li>
<li>Create a targeted website outlining your services.</li>
<li>Reach out to your ideal clients using online marketing and outreach.</li>
<li>Analyse, learn, and adapt your approach to keep improving.</li>
</ol>
<h2 id="heading-step-1-figure-out-what-service-you-can-offer-to-generate-a-side-income">Step 1: Figure Out What Service You Can Offer to Generate a Side Income</h2>
<p><img src="https://studywebdevelopment.com/images/identify-service.jpg" alt="identify-service" width="600" height="400" loading="lazy"></p>
<p>Some examples may be:</p>
<ul>
<li>Frontend Development</li>
<li>Backend Development</li>
<li>Digital Marketing</li>
<li>Content Writing</li>
<li>Design</li>
</ul>
<p>Don’t worry about being an “expert” at a certain skill.</p>
<p>The only way to improve is to DO IT and make improvements along the way, but you need to get started and believe that what you have to offer can help businesses.</p>
<p>You can't keep waiting until you are a "pro" otherwise you'll never get started.</p>
<p>In this article, I’ll mainly focus on Frontend Development and <a target="_blank" href="https://www.sitepoint.com/what-is-digital-marketing/">Digital Marketing</a> as services. But you can apply these principles for other services as well.</p>
<h2 id="heading-step-2-determine-your-ideal-clients-and-target-market">Step 2: Determine Your Ideal Clients and Target Market</h2>
<p><img src="https://studywebdevelopment.com/images/target-market.jpg" alt="target-market" width="600" height="400" loading="lazy"></p>
<p>Without clients, you wouldn’t have a freelancing business.</p>
<p>The only question is, <strong>how do you get clients</strong>?</p>
<p>You don’t just want “clients,” but what you really want is the “right clients.”</p>
<h2 id="heading-your-client-and-niche">Your Client and Niche</h2>
<p>Finding your ideal client will help you lay the foundation for what niche you will be targeting and you can then align your marketing efforts accordingly.</p>
<p>Some client examples may include:</p>
<ul>
<li>Florists</li>
<li>Bakeries</li>
<li>Coffee Shops</li>
<li>Health Shops</li>
<li>Fitness Trainers</li>
<li>Pilates Instructors</li>
<li>Beauty/Hair Salons</li>
<li>Printing Businesses</li>
<li>Small Local Businesses in [Your Area]</li>
</ul>
<p><em>(Note that the business needs to be independently owned – not a franchise businesses. Otherwise you'd have to deal with a large corporation.)</em></p>
<p>Once you’ve decided on your niche/client, you need to buy a domain related to the niche you choose and create a website like the portfolio template shown in step 3.</p>
<h2 id="heading-step-3-create-a-targeted-website-outlining-your-services">Step 3: Create a Targeted Website Outlining Your Services</h2>
<p><img src="https://studywebdevelopment.com/images/create-targeted-website.jpg" alt="create-targeted-website" width="600" height="400" loading="lazy"></p>
<p>The next step involves a portfolio site that you need to create. Refer to this portfolio template as a guideline:</p>
<p><img src="https://studywebdevelopment.com/images/portfolio-example-site.jpg" alt="portfolio-example-site" width="600" height="400" loading="lazy"></p>
<p>Can you notice that this looks different to most other ‘portfolio’ sites?</p>
<p>This portfolio site is different to others which focus on primarily getting a full-time job that highlights your skills. In this example, it focuses on getting clients and how you can help their business.</p>
<p>The best way to think of the Portfolio Template is like a ‘Mini-niche Agency Website.’</p>
<p>It showcases your knowledge, expertise and how you can grow the business in the niche that you are targeting.</p>
<p>With the theory out of the way, let’s get into the actionable parts.</p>
<h3 id="heading-create-blog-articles">Create Blog Articles</h3>
<p>Blog articles are important because it benefits you and it benefits the potential client.</p>
<p>It benefits you because the client will trust your expertise more and this will encourage them to work with you.</p>
<p>It benefits the client because they can learn something about how to grow their business.</p>
<p>You only need to have 2-3 articles to start with before you start approaching clients.</p>
<p>You can add an additional article once every month to make it seem like your freelancing business is still active and it will add more credibility.</p>
<p>Here are 3 article ideas:</p>
<ul>
<li>5 Ways to Grow Your [insert niche] Online</li>
<li>Why Every [insert niche] Needs A Website</li>
<li>What Almost Every [insert niche] Does Wrong</li>
</ul>
<p>How do you write the articles?</p>
<p>You can either outsource it to writers on Fiverr.com or write it yourself. I would recommend writing the first few articles yourself as it will help your confidence in selling to prospective clients.</p>
<h3 id="heading-get-client-testimonials">Get Client Testimonials</h3>
<p>Anyone who has tried to sell websites previously will know that one of the first things clients respond with is:</p>
<p><strong><em>“Can you show me previous work you’ve done for [insert niche]?”</em></strong></p>
<p>You know you can create a good website, but the client wants to see proof – which is fair after all.</p>
<p>Just like you’d research reviews on almost any product you’d buy online, it’s no different to the psychology of prospective clients.</p>
<p>How do you get around this? What’s the solution?</p>
<p>Well, I have two solutions that ALWAYS work in any niche I am in, but you might not like it.</p>
<p><strong>Solution 1:</strong>  Do two projects for free in exchange for a testimonial.</p>
<p><strong>Solution 2:</strong>  Buy two domains and create the websites (you just don’t get testimonials of course).</p>
<p><strong>Solution #1 Requires Two Steps:</strong></p>
<p><strong>Step 1:</strong> You need to email the business owner of the niche that you’ve chosen. If they don’t reply to your email, then phone them.</p>
<p>How do you get their email?</p>
<p>Look in local website directories, yellow pages, local magazines or do Google searches until you find it.</p>
<p>Send them this email:</p>
<blockquote>
<p><em>Hi [name],</em>  </p>
<p><em>I recently came across your [niche] business and I noticed you don't have a website.</em>  </p>
<p><em>I am a web designer and I would love to create your website for FREE (no catches or hidden fees) in exchange for a testimonial from you that I can use on my website.</em>  </p>
<p><em>I'm looking to get a few testimonials as it will help me in the future.</em>  </p>
<p><em>Would you be willing to take me up on this offer?</em>  </p>
<p><em>If you have any questions, please feel free to contact me.</em>  </p>
<p><em>Regards,</em>  </p>
<p><em>Your Name</em>  </p>
<p><em>Your Contact Number</em></p>
</blockquote>
<p><strong>Step 2:</strong> Create the website.</p>
<p>You can either do this quickly by purchasing a cheap template on Themeforest.net or TemplateMonster.com (often for under $20) or you can code it yourself – whichever you feel more comfortable with.</p>
<p>Another option is to use <a target="_blank" href="http://www.elegantthemes.com/affiliates/idevaffiliate.php?id=43252&amp;url=35568">Divi</a> which allows you to create WordPress websites with ease. I use it for every WP website I create.</p>
<p><img src="https://studywebdevelopment.com/images/divi-gif.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<p>You can <a target="_blank" href="http://www.elegantthemes.com/affiliates/idevaffiliate.php?id=43252&amp;url=35568">try Divi here</a>.</p>
<p><strong>Solution #2 Requires More Explanation:</strong></p>
<p>What is the purpose of a prospective client asking to see your work?</p>
<p>All they want to know is if you can deliver quality work.</p>
<p>Think about it…</p>
<p>If this is all they are concerned about, why can’t you just buy the domain, create a website and add it to your Portfolio?</p>
<p>It’s a different story if they are asking for case studies on how you’ve helped businesses increase sales, but that is not an issue for this income strategy as you are dealing with the ‘small fish’ here.</p>
<p>You don’t have to tell them you actually own the website either.</p>
<p>Remember, all they want to see is previous experience. Owning the site is something irrelevant and not a priority for them. All they want to see is if you can deliver quality work.</p>
<p>I’ve honestly never had any issues with this strategy whatsoever. It’s a secret weapon that works every time.</p>
<h2 id="heading-price-your-services">Price Your Services</h2>
<p>Pricing is vital to your success.</p>
<p>Overprice and that means you won’t get any clients. Charge too little and you might get clients who question your credibility or you may be overworked with small profits.</p>
<p>Pricing is relative to the niche you are serving.</p>
<p>For example, if you created a website for a small local florist vs a 100+ employee accounting practice, your pricing should be significantly higher for the accounting practice.</p>
<p>So, if you charged the florist $1,500 for a website, they might say that’s too expensive for them.</p>
<p>Whereas if you charged the accounting practice $3,000, they might think that’s too cheap and may question your expertise.</p>
<p>Read my article <a target="_blank" href="https://studywebdevelopment.com/how-to-charge-for-a-website.html">How to Charge for a Website</a> to find out how to price your services in more detail.</p>
<p>The following is an example breakdown:</p>
<p><strong>My Niche:</strong>  Coffee Shops</p>
<p><strong>My Services:</strong>  Web Design, SEO and Social Media</p>
<h3 id="heading-pricing-once-off">Pricing Once off:</h3>
<p>$495 for a professional one-page website</p>
<p>$595 for a professional one-page website + SEO submissions + Google Map submission</p>
<h3 id="heading-pricing-monthly">Pricing Monthly:</h3>
<p>$350 – Social Media Management (posting on Facebook and Instagram twice per week).</p>
<p>$495 – Social Media Management + SEO</p>
<p>You might think my pricing is low, but remember to view it in context.</p>
<p>The goal is not to make a good full-time income here. A side income of $1,000 - $1,500 per month is a good and realistic benchmark to aim for.</p>
<p><strong>Why this pricing model?</strong></p>
<p>I want to appeal to the budget of most coffee shops. Charging $1,000+ for a website might get me a few coffee shop clients, but most of them are on tight budgets and marketing is often seen as an expense and not as an investment.</p>
<p>This pricing model is affordable for most of them and you will get a lot more clients with this pricing structure compared to more expensive alternatives.</p>
<p>You are also more likely to get a few clients paying you a monthly fee which helps you earn a more predictable income each month.</p>
<p>For a more advanced understanding of pricing (Value vs Hourly), read <a target="_blank" href="https://www.webdesignerdepot.com/2018/02/stop-billing-by-the-hour-right-now/">this article</a>.</p>
<p><strong>What it includes:</strong></p>
<p><strong>One-Page Website</strong></p>
<p>For this price, the client can’t expect a detailed website with multiple pages. It must be professional and to the point. If they want a website that is more advanced, they need to pay you more.</p>
<p>In this case, the website needs to have the following:</p>
<ul>
<li>Good images (look on Pexels.com or DepositPhotos.com or tell the client to send you professional images)</li>
<li>Information about the coffee shop (history, what makes them different)</li>
<li>Trading hours, location and contact details</li>
<li>Any promotions/events</li>
<li>Menu</li>
</ul>
<p>Refer to Themeforest.net for some inspiration or to even buy a cheap one-pager (under $15) if you are struggling with this to get started.</p>
<h2 id="heading-seo-submissions">SEO Submissions</h2>
<p>We’ve all heard the word/acronym ‘SEO’ by now. In short, it’s the process of optimizing a website to rank higher on Google (or other search networks).</p>
<p>All you need to do is submit the website to local directories which will help the initial stages of the website ranking higher on Google.</p>
<p>Directories vary based on your city and country, so a simple Google search “local business directory” would give you more than enough options. You can also search for “[insert niche] directory listing”.</p>
<p>3 common directories are:</p>
<ol>
<li><p>Yelp.com</p>
</li>
<li><p>YellowPages.com</p>
</li>
<li><p>FourSquare.com</p>
</li>
</ol>
<h2 id="heading-google-map-submission">Google Map Submission</h2>
<p>We’ve all seen the Google maps on Google after doing some searches, but have you ever wondered how businesses get listed on there?</p>
<p><img src="https://studywebdevelopment.com/images/google-maps-example.png" alt="google-maps" width="600" height="400" loading="lazy"></p>
<p>It’s a very simple process and I’m not going to explain that here as there are plenty of <a target="_blank" href="https://www.wikihow.com/Add-a-Business-to-Google-Maps">free online resources</a> for this.</p>
<p>Local SEO is a MUST for small businesses.</p>
<p>If you'd like to learn more about Local SEO, take this course:</p>
<p><img src="https://studywebdevelopment.com/images/local-seo-course.png" alt="local-seo" width="600" height="400" loading="lazy"></p>
<p>Many people search for “coffee shops near me” (or the niche you choose) and they often just click on the map options.</p>
<p>By having your client on the maps can be highly beneficial to getting more customers.</p>
<h2 id="heading-social-media-management">Social Media Management</h2>
<p>I find Twitter is a waste of time in terms of engagement and it ultimately leads to a ‘customer care’ format when it comes to business profiles.</p>
<p>I generally prefer Instagram and Facebook for business profiles as the engagement is much better.</p>
<p>Make sure to create and adapt the social media channels depending on where your client’s target market is.</p>
<p><a target="_blank" href="https://sproutsocial.com/insights/new-social-media-demographics/">Read this guide</a> on social media platforms to help you get started.</p>
<p>All you will be doing is posting on Facebook and Instagram (or others) twice every week.</p>
<p>The posts can be informative, funny, giveaways, promotions, helpful and asking questions.</p>
<p>The bottom line is that the purpose is engagement. If potential customers can see engagement and a good looking social media profile, it helps them trust the business more and they are more likely to visit and recommend it to friends.</p>
<p>You can get images/content from the owner, or just look on Pexels.com and then also look at what competitors post to see how you can be different.</p>
<p>Be smart about it and plan the posts in advance. Don’t start finding everything the day you need to post it.</p>
<p>It’s only 8-10 different posts a month – it’s not difficult, but it requires some thought and planning for it to run smoothly.</p>
<p>You can also use a tool called Grum.co to help you schedule Instagram posts in advance. Facebook has this option for free. Also look at Hootsuite which has a free plan as well.</p>
<h2 id="heading-seo">SEO</h2>
<p>Your goal is to get the business to rank higher on Google. I wouldn’t do advanced things here because the budget is so small.</p>
<p>Read <a target="_blank" href="https://studywebdevelopment.com/seo-for-web-developers.html">this SEO article</a> I wrote to help you understand it better.</p>
<p>Make sure to optimize the on-page SEO as well.</p>
<p>In this scenario, I would only do one 1,200-word article with some nice-looking images from Pexels.com or DepositPhotos.com.</p>
<p>If the articles are good, then Google will eventually rank the articles higher and that will boost the site’s long-term SEO results.</p>
<p>SEO is considered to be more of a long-term marketing tactic. You can start seeing good results between 3 – 12 months depending on the industry.</p>
<p>The bottom line is that SEO should be seen as an investment. It’s just about getting started.</p>
<p>Some SEO article ideas to consider:</p>
<ul>
<li>The 10 Best [insert niche] in [insert suburb/area]</li>
<li>How to Choose the Right [insert niche]</li>
<li>5 Health Benefits of Coffee</li>
</ul>
<h4 id="heading-benefits-of-this-overall-strategy">Benefits of this overall strategy:</h4>
<p>Once you’ve done a few websites, you’ll already have a few different website themes that you can use for new clients that sign up in the future.</p>
<p>All you need to do is upload images, add content, update a menu download, upload the website to the host and you’re done.</p>
<p>You can easily complete the whole website in 3–4 hours as long as you get the information from the client.</p>
<p>It’s important to remember that you are not doing a 10+ page website here.</p>
<p>It’s one page.</p>
<p>Even a simple 3-pager won’t take much longer – especially after your third client.</p>
<p>Don’t be disheartened by the small income amount. It’s a numbers game.</p>
<p>Even if you get just one client every month (the small package) + only one client signing up for the monthly package, that equals over $800 per month.</p>
<p>If you only get two clients per month + one client signing up for the monthly package, that's over $1,300 per month.</p>
<p>This can be done. It's seriously not something that is unrealistic and it doesn’t require a lot of time to keep it going.</p>
<p>The hard work is initially upfront with creating your site, building your portfolio and improving on some marketing things mentioned below.</p>
<h2 id="heading-step-4-get-the-clients">Step 4: Get The Clients</h2>
<p><img src="https://studywebdevelopment.com/images/get-clients.jpg" alt="get-clients" width="600" height="400" loading="lazy"></p>
<p>What I’ve mentioned may sound all nice and fluffy, but without the clients it means nothing.</p>
<p>Here are the three best ways to get clients for this marketing strategy:</p>
<ol>
<li><p>AdWords</p>
</li>
<li><p>Facebook Group</p>
</li>
<li><p>Outreach</p>
</li>
</ol>
<h2 id="heading-1-adwords">1: AdWords</h2>
<p>AdWords is an excellent way of getting new clients.</p>
<p>Briefly, AdWords are the ads that you see at the top of all Google searches.</p>
<p>Every time someone clicks on the ad, the business (or you) needs to pay for it.</p>
<p>The point of AdWords is this:</p>
<p>You sell a website for $495. Would you be willing to spend $50 to get a confirmed client with the potential of them signing up for a monthly marketing package?</p>
<p>Sure.</p>
<p>Would you be willing to spend $200 to get a client to buy a $495 website?</p>
<p>Probably not.</p>
<p>It’s all about figuring out what you are willing to pay in comparison with what you will earn.</p>
<p>Searches your ad should display for are (depending on your niche):</p>
<p>“Coffee shop website template“</p>
<p>“Coffee shop website theme“</p>
<p>“Web designer for small business“</p>
<p>“Web designer for coffee shop“</p>
<p>“Website design for coffee shop“</p>
<p>In this case, each click might cost $2 on average.</p>
<p>I understand that there will be many searching for these terms just out of research – maybe web designers trying to get inspiration or buy the themes themselves, but this is something that just needs to be accepted when it comes to a niche like this.</p>
<p>One way to combat this is to avoid your ads showing with searches including the word “ideas” or “inspiration” in the negative keywords so that it’s more relevant.</p>
<p>Not all searches are from a curiosity standpoint. Many are legitimate business owners just wanting to figure it out themselves, but because the pricing is so low, it’s something they will likely go ahead with compared to doing it themselves.</p>
<p>If you don't have any AdWords knowledge, take this excellent course on Udemy:</p>
<p><img src="https://studywebdevelopment.com/images/adwords-course.png" alt="adwords-course" width="600" height="400" loading="lazy"></p>
<h2 id="heading-2-facebook-group">2: Facebook Group</h2>
<p>So many people overlook this strategy.</p>
<p>All you need to do is create a Facebook Group relating to your niche and focus on getting the owners of the niche you are targeting to join the group.</p>
<p>In this case, I would want coffee shop owners in ‘XYZ’ city to join my Facebook group.</p>
<p>Then I would just add value to the group. Post awesome articles on how coffee shops can grow their business, psychology tips, productivity tips, funny memes, etc.</p>
<p>The next step would be to message each member directly or post occasionally to the group about how you can help them grow their business.</p>
<p>You don’t need 1,000 members here. 50 members are excellent. Remember, it’s super niche and these are the exact clients you’d like to work with.</p>
<p>It usually takes up to 3 months to get your first client from this marketing channel, but then you’ll notice improvements after this.</p>
<p>Just focus on converting 10% into paying clients and then focus on growing the group from there.</p>
<p>More targeted members = More clients in the long-run.</p>
<p>It’s an excellent way of gaining new clients and it helps position you as an authority in your niche.</p>
<h2 id="heading-3-the-manual-work">3: The Manual Work</h2>
<p>There’s no shortcut on this part. It requires some research and work.</p>
<p>You need to do the following:</p>
<ol>
<li><p>Look at Yellow Pages</p>
</li>
<li><p>Look at local online business directories</p>
</li>
<li><p>Look at local print media (newspapers, pamphlets, flyers)</p>
</li>
<li><p>Look on Google for coffee shops</p>
</li>
</ol>
<p>In each of these examples, you need to find out the following:</p>
<ol>
<li><p>Do they have a website? If not, carry on with the next step.</p>
</li>
<li><p>Do they show up on Google for their coffee shop?</p>
</li>
</ol>
<p>If the answer is no to both questions, that’s good news. Now it’s time for you to sell your services.</p>
<p>Before I go further, you need to be aware that you can’t be sensitive when it comes to this.</p>
<p>You must mentally prepare for over 90% of your outreach being completely ignored or you might receive a straight “NOT interested” reply.</p>
<p>This doesn’t mean you shouldn’t still go ahead with it, but I don’t want to paint a fairy-tale picture here because it doesn’t work out like that.</p>
<p>Many of you will face a mental barrier because I said the word “sell.”</p>
<p>I also faced this barrier, but then I came to this realization:</p>
<p>I am providing the coffee shop (or business niche you decide) with an effective marketing tool that will help them appear more professional and it will lead to more customers.</p>
<p>I’m HELPING their business grow and they are just paying me to do so.</p>
<p><strong>It’s an exchange of value for value.</strong></p>
<p>Once you understand that it’s in their best interests to partner with you, everything will fall into perspective and you will feel way more confident to “sell.”</p>
<p>The next step would be to find their email and/or contact number from the media mentioned earlier.</p>
<p>Send them this email:</p>
<p>Subject Line: [Business Niche Company Name] Website  </p>
<blockquote>
<p><em>Hi [name or company name],</em>  </p>
<p><em>My name is [insert name] and I am a web designer based in [insert city].</em>  </p>
<p><em>I came across your [insert niche] business in the [insert media] and noticed you don’t have a website yet.</em>  </p>
<p><em>I have experience in working with [insert niche] businesses to help them create effective websites for only $495 (with no hidden fees).</em>  </p>
<p><em>Would you be interested in discussing this further?</em>  </p>
<p><em>We can set up a call or I'd be happy to discuss this via email.</em>  </p>
<p><em>For more information about my expertise, here is my website: [www.mynichewebsite.com]</em>  </p>
<p><em>Thank you and I look forward hearing from you.</em>  </p>
<p><em>Regards,</em>  </p>
<p><em>[your name]</em></p>
</blockquote>
<p>If you don’t receive a reply after 3 days, send them this email:</p>
<p><em>Subject Line: RE: [Business Niche Company Name] Website</em>  </p>
<blockquote>
<p><em>Hi [name or company name],</em>  </p>
<p><em>I'd just like to confirm if you received my email I sent a few days ago?</em>  </p>
<p><em>Regards,</em>  </p>
<p><em>[your name]</em></p>
</blockquote>
<p>If you don’t get a reply 2 days after your follow up, phone them.</p>
<p>Sometimes prospective clients genuinely consider your proposal but they are too busy and forget to reply.</p>
<p>The follow up often receives more responses than the first email as it often seems spammy.</p>
<p>Businesses receive emails from companies wanting to design their website and do SEO services almost daily, so to them, you are much like the rest.</p>
<p>The approach I mentioned above is if the business doesn’t have a website, but what if they already have a website?</p>
<p>After you’ve got a few projects to your name, you should approach coffee shops that have existing websites but that are poorly designed.</p>
<p>Just some [insert niche] Google searches will pick up all you need to start.</p>
<p>Once you feel more confident about easily pointing out the errors and giving some valid recommendations, email them this message:  </p>
<blockquote>
<p><em>Hi [name or company name],</em>  </p>
<p><em>My name is [insert name], I recently came across your website after searching for [the search term you used].</em>  </p>
<p><em>I noticed that your website doesn’t display the important aspects that a [insert niche] website should display, such as:</em>  </p>
<p>·  <em>Clear contact details</em>  </p>
<p>·  <em>Clear company history</em>  </p>
<p>·  <em>Professional images and content</em>  </p>
<p>·  <em>Social media profiles</em>  </p>
<p>·  <em>Clear location and trading hours’ information</em>  </p>
<p>·  <em>Menu and specials</em>  </p>
<p><em>Making these changes will help your [insert niche] appear to be more professional and you will gain more trust with potential customers.</em>  </p>
<p><em>I'd love to set up a call to discuss how I can help you get more customers through effective web design changes.</em>  </p>
<p><em>If you have any questions, feel free to contact me.</em>  </p>
<p><em>For more information about my expertise, here is my website: [www.mynichewebsite.com]</em>  </p>
<p><em>Thank you and I look forward to hearing from you.</em>  </p>
<p><em>Regards,</em>  </p>
<p><em>[your name]</em></p>
</blockquote>
<h2 id="heading-step-5-analyse-learn-and-adapt">Step 5: Analyse, Learn and Adapt</h2>
<p><img src="https://studywebdevelopment.com/images/analyse-results.jpg" alt="analyse-results" width="600" height="400" loading="lazy"></p>
<p>After 3 months of actively applying these strategies, it’s important to see where you can make improvements.</p>
<p>By this point, you’ll get an idea of how clients respond and then you can adapt your emails and marketing accordingly.</p>
<p>The truth is that it requires a lot of hard work, but it’s important to be smart about it.</p>
<p>These strategies work and if you are willing to stick it out and improve along the way, it’s only a matter of time before you reach your goals.</p>
<p>I hope this has helped you on your journey in creating a side income.</p>
<p>If you'd like to learn more advanced strategies, check out <a target="_blank" href="https://studywebdevelopment.com/freelancing.html">my popular freelancing bundle</a>.</p>
<p><img src="https://studywebdevelopment.com/images/freelancing-complete-bundle.jpg" alt="freelancing-complete-bundle" width="600" height="400" loading="lazy"></p>
<p>Until next time,</p>
<p>Kyle</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Freelancing? Here are 7 places where you can sell your software development services ]]>
                </title>
                <description>
                    <![CDATA[ By Kyle Prinsloo Web developers need clients. This is true whether you are a full-time freelancer or you freelance on the side. So if you've ever asked: "Where do I sell my web development services?" Well you're in the right place. This article shoul... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/selling-services/</link>
                <guid isPermaLink="false">66d4602a3bc3ab877dae221e</guid>
                
                    <category>
                        <![CDATA[ Digital Marketing  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Freelancing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ frontend ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 24 Jul 2019 10:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/07/selling-services.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Kyle Prinsloo</p>
<p>Web developers need clients. This is true whether you are a full-time freelancer or you freelance on the side.</p>
<p>So if you've ever asked: "Where do I sell my web development services?"</p>
<p>Well you're in the right place. This article should give you a brief, helpful overview of your options.</p>
<p>Some of these tools may be relevant to you, and some of them may not be. Either way, my suggestion is for you to experiment with which is best and adapt accordingly from there.</p>
<h2 id="heading-1-fiverr">#1: Fiverr</h2>
<p><img src="https://studywebdevelopment.com/images/fiverr.jpg" alt="fiverr" width="600" height="400" loading="lazy"></p>
<p>To those who know what <strong><a target="_blank" href="https://www.fiverr.com/">Fiverr</a></strong> is, you may be thinking why I would add Fiverr here?</p>
<p>What if I told you right from the start that I've made 5 figures (USD) from Fiverr within the past 5 months?</p>
<p>I thought that would grab your attention :)</p>
<p>To those who don't know what Fiverr is, it's a platform to sell services starting from $5.</p>
<p>This is my honest perspective of Fiverr:</p>
<p>Depending on the service you offer, it will be a waste of your time if you don't know how to take advantage of the benefits.</p>
<p>So, this is how the Fiverr side worked:</p>
<p>I first looked at others in my service offering and figured out how I could stand out as a complete newbie to Fiverr.</p>
<p>I noticed that their main image did not look good and if they had a video, it wasn't good. So, I decided to invest in making a good video which would help me stand out.</p>
<p>Then I found someone on Fiverr to design a decent animation video for around $80.</p>
<p>Because Fiverr is all about reviews, I needed to get legitimate reviews asap to help boost my credibility, so I asked my brother and my mom to order from me and write a review for me.</p>
<p>Now, you may be thinking this is dodgy and not right for me to do this…</p>
<p>Firstly, I am being 100% open and transparent with you here and secondly, I have helped my brother and my mom with their personal websites in the past so I am not lying about it.</p>
<p>With that background out of the way, let's focus on the practical side:</p>
<p>I charged $5 for a website conversion report (I gave advice on how to improve their website).</p>
<p>I got three purchases (excluding my brother and mom) in total since I created my account around mid-2016. Out of the three orders, one signed up for more projects after the initial conversion report (which I'll talk about now), another gave me a tip, the last one was the strangest client ever (which I'll ignore for this article).</p>
<p>What's interesting is that my share of a $5 order is only $4 after Fiverr's fee which is basically a decent coffee where I stay.</p>
<p>If you think like most people, you would think wow… all that work for $4? Who would do that?</p>
<p>I would…</p>
<p>And I'll explain why:</p>
<p>Most people price their services as once-off, but I knew I could be different in this by offering higher pricing tiers for more work.</p>
<p>My $5 report was valuable. I really aimed to over-deliver. It was a brief 3-page overview on my suggestions to improve the overall website goal.</p>
<p>The next report was a $100 highly detailed action plan and UI document with a proposal of 4 figures for me to implement the action plan.</p>
<p>Proposal agreed and the website along with other online marketing was done.</p>
<p>2 months later: his sales more than quadrupled.</p>
<p>3 months after that: 5 more websites ordered + I'm on monthly recurring retainer + we are working on additional on-going projects.</p>
<p>Overall, Fivver was a great investment of my time and an excellent way to get an amazing client (and now a client-turned-friend).</p>
<p>Conclusion: it's not easy to stand out on such a crowded marketplace like Fiverr when you are starting out – especially when you offer a commodity service like web development. But if you think creatively about getting clients, you can make it work.</p>
<h3 id="heading-2-upwork">#2: Upwork</h3>
<p><img src="https://studywebdevelopment.com/images/upwork.png" alt="upwork" width="600" height="400" loading="lazy"></p>
<p><strong><a target="_blank" href="https://www.upwork.com/i/how-it-works/freelancer/">Upwork</a></strong> is the largest online platform in the world for freelancers (over 12 million registered).</p>
<p>Their top 3 services are:</p>
<ul>
<li>Web Development</li>
<li>Mobile Development</li>
<li>Design</li>
</ul>
<p>How it works:</p>
<ol>
<li>Register as a freelancer</li>
<li>Make a stand-out profile page (research the top 20 profiles to see what they do and do more of that)</li>
<li>Get hired by a client</li>
<li>Do the work</li>
<li>Get paid</li>
</ol>
<p>Read more about the process <a target="_blank" href="https://www.upwork.com/i/how-it-works/freelancer/">here</a>.</p>
<h3 id="heading-3-linkedin-yes-linkedin">#3 LinkedIn (yes - LinkedIn)</h3>
<p><img src="https://studywebdevelopment.com/images/linkedin.jpg" alt="linkedin" width="600" height="400" loading="lazy"></p>
<p>Check out <a target="_blank" href="https://www.linkedin.com/in/wesbos/">Wes Bos</a>'s LinkedIn page.</p>
<p>According to <a target="_blank" href="http://www.forbes.com/sites/susanadams/2013/02/05/new-survey-linked-in-more-dominant-than-ever-among-job-seekers-and-recruiters-but-facebook-poised-to-gain/#4ba4744d16bf">some stats</a>, up to 97% of recruiters use <strong><a target="_blank" href="https://www.linkedin.com/">LinkedIn</a></strong> to find candidates.</p>
<p>What's interesting is the fact that only <a target="_blank" href="http://venturebeat.com/2016/08/04/linkedin-now-has-450-million-members-but-the-number-of-monthly-visitors-is-still-flat/">25% of users</a> are active on LinkedIn each month.</p>
<p>These stats show a good and bad thing…</p>
<p>Bad because it shows how few people take advantage of LinkedIn.</p>
<p>Good because it shows the potential there is if you are more active on LinkedIn.</p>
<p>Granted, just being more active doesn't mean anything if you are just doing it for the sake of being active.</p>
<p>Being more active should be combined with a great (updated) profile where you share ideas and resources, contribute to groups and provide your opinion on certain topics.</p>
<p>It's actually a bit hypocritical of me to mention this as I don't even advertise my LinkedIn profile (I will in the future), but <a target="_blank" href="http://www.linkedin.com/in/kyleprinsloo">here it is</a> if you want to connect :)</p>
<p>If you need help breaking it down, check out this <a target="_blank" href="http://learntocodewith.me/linkedin-crash-course/">LinkedIn course</a>.</p>
<p>PS – don't neglect your other social media profiles like Instagram, Facebook and Twitter.</p>
<h3 id="heading-4-freelancer">#4: Freelancer</h3>
<p><img src="https://studywebdevelopment.com/images/freelancer.jpg" alt="freelancer" width="600" height="400" loading="lazy"></p>
<p><strong><a target="_blank" href="https://www.freelancer.com/">Freelancer</a></strong> is similar Upwork. It also has millions of users and is another popular choice for selling your services.</p>
<p>How it works:</p>
<ol>
<li>Register as a freelancer</li>
<li>Make a stand-out profile page (research the top 20 profiles to see what they do and do more of that)</li>
<li>Get hired by a client</li>
<li>Do the work</li>
<li>Get paid</li>
</ol>
<p><a target="_blank" href="https://www.freelancer.com/?t=b&amp;utm_expid=294858-511.oKOldrUTRkqgwrFQ1XPOaQ.1&amp;utm_referrer=https%3A%2F%2Fwww.freelancer.com%2Fabout">Sign up for a freelancer account here</a>.</p>
<h2 id="heading-5-rentacoder">#5: RentaCoder</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/Rent_a_coder_-_Hire_freelance_programmers_and_designers.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><a target="_blank" href="http://www.rent-acoder.com/">RentaCoder</a> is very similar to Upwork and Freelancer, but worth checking out.</p>
<h2 id="heading-6-hirable">#6: Hirable</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/Hireable___Homepage.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><a target="_blank" href="https://wearehirable.com/">Hirable</a> is also similar to Upwork and Freelancer, but may be worth checking out as well.</p>
<h3 id="heading-7-your-own-portfolio-website">#7: Your own Portfolio website</h3>
<p><img src="https://studywebdevelopment.com/images/adam-dannaway.jpg" alt="portfolio-site" width="600" height="400" loading="lazy">
<em>Website by [Adham Dannaway](http://www.adhamdannaway.com/" rel="nofollow)</em></p>
<p>I left this part for last as I believe it's the most underrated.</p>
<p>Let's start with a scenario:</p>
<p>You go for an interview and you sit next to 3 other candidates waiting to get interviewed. All of you have the same college/university qualification which states that you've studied programming and you know how to code.</p>
<p>The most important question to ask is:</p>
<p><strong>What will set you apart from the other candidates to get you the job?</strong></p>
<p>Maybe how you get along with the interviewer in this case. But on paper at least you are all the same.</p>
<p>Now, imagine this same scenario above, but YOU have a portfolio of 3-5 websites that you've created by freelancing on the side or by creating websites for businesses and you bring this 'proof' along to the interview. You will instantly stand out from the rest of the candidates and your chance of getting the job has significantly increased.</p>
<p>Your portfolio is what sets you apart from everyone else and it will eventually make your qualification a piece of paper – seriously.</p>
<p>Bottom line is… you need a brilliant portfolio to show off what you've done.</p>
<h2 id="heading-actionable-tips-to-grow-your-portfolio">Actionable tips to grow your portfolio:</h2>
<p>Contact a local charity shop/restaurant/NGO/church and tell them you will create a website for them (at no charge) and just mention that this is to build your web development portfolio and to gain experience.</p>
<p>In exchange for the website, you'd like their permission to add it to your portfolio and you'd like a testimonial. It's a win-win for you and for them. They get a good website, and you learn more by creating more projects and you gain more experience on your portfolio which is an asset to you.</p>
<p>Think of this strategy as the 'liability into asset strategy', it is a liability for you because you are not getting paid and it's taking your time to create, but at the end of this process you will have an asset to your name that no one can take away from you.</p>
<p>Aim for at least 5 websites for your portfolio before applying for jobs. This is a good foundation to work from and it shows off your variety and skillset.</p>
<p>I hope you gained some insight from this article. Always remember that the best 'platform' to get clients is by letting your clients do your marketing for you.</p>
<p>Until next time...</p>
<ul>
<li>Kyle</li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Stop [Marketing] E-Mail Bouncebacks! How to Configure SPF, DMARC & DKIM ]]>
                </title>
                <description>
                    <![CDATA[ By Andreas Lopez Setup Requirements: Your Domain Name System (DNS) Editor (i.e. GoDaddy Admin that has the email addresses registered) 3rd Party e-mail Admin Accounts (e-mail Blast Service [Mailchimp, ConstantContact, etc.], Additional Mail Server y... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/bananas-stop-email-bouncebacks-spf-dmarc-dkim/</link>
                <guid isPermaLink="false">66d45d97052ad259f07e4a55</guid>
                
                    <category>
                        <![CDATA[ Backend Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ #content marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ cybersecurity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Digital Marketing  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ email ]]>
                    </category>
                
                    <category>
                        <![CDATA[ email marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ newsletters ]]>
                    </category>
                
                    <category>
                        <![CDATA[ servers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ smtp ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Sat, 22 Jun 2019 17:10:52 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/06/stop-email-bouncebacks-post-image.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Andreas Lopez</p>
<p><strong>Setup Requirements:</strong></p>
<ul>
<li>Your Domain Name System (DNS) Editor (i.e. GoDaddy Admin that has the email addresses registered)</li>
<li>3rd Party e-mail Admin Accounts (e-mail Blast Service [Mailchimp, ConstantContact, etc.], Additional Mail Server you might be using, etc.)</li>
</ul>
<p>You might be reading this because you want help resolving an error you just received. This error might be stating something about your DMARC records and that the e-mail was not authenticated. And most likely you attempted to e-mail someone with a ‘@gmail.com’ or ‘@yahoo.com’ address or similar free, big e-mail providers which have higher default guidelines than an e-mail server you would set up through your own company.</p>
<p>I was there too and struggled quite some time to get this figured out — not just what you need, but also how to get it done, the right way.</p>
<h3 id="heading-our-statistics-before-and-after-configuring-spf-dmarc-amp-dkim">Our Statistics before and after configuring SPF, DMARC &amp; DKIM:</h3>
<p>As you will be able to see in the following pictures these implementations show us that:</p>
<ul>
<li>Bounce Rate was 70% before implementation, a whole 21441 E-mails that never made it into the subscribers inbox.</li>
<li>After implementation the Bounce Rate was only 5.6%, down to only 1855 Bouncebacks.</li>
<li>The bouncebacks are not all just due to security, some e-mails are deleted or the subscriber made a typo (mail.com instead of gmail.com is a typical one).</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/06/ConstantContact-Before-After.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Constant Contact Bounce Statistics, Before &amp; After configuring SPF, DMARC &amp; DKIM.</em></p>
<h3 id="heading-enough-talk-about-how-important-the-implementation-is-lets-get-to-it">Enough talk about how important the implementation is - lets get to it!</h3>
<p>In order to be 100% compliant in terms of e-mail authentication, you need 3 things configured:</p>
<ul>
<li><strong>SPF (Sender Policy Framework):</strong> a framework used to prevent e-mail forgery aka Spoofing. Spoofing is when someone is pretending to be sent from your e-mail address.</li>
<li><strong>DKIM (DomainKeys Identified Mail):</strong> This will allow a server to send e-mails in your name while being authenticated to make sure it’s really you. For example, if you use MailChimp or ConstantContact for newsletter blasts and say it’s from ‘john@doecompany.com’, the e-mails will still be sent from MailChimp or ConstantContacts server. However, you verified with your Blast e-mail service that is indeed you and not someone pretending to be you. <strong>This is the most important one to set up correctly for businesses, as otherwise there will be a high bounce-back rate!</strong></li>
<li><strong>DMARC (Domain-based Message Authentication, Reporting, and Conformance):</strong> Also an Anti-Spoofing mechanism that will work in conjunction with SPF. Having one or the other is ineffective — you will need both to be properly protected.</li>
</ul>
<p>DNS Editor / DNS Zone Editor, GoDaddy Screenshot Examples (Login and navigate to your Admin Dashboard first):</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/0*RyXa5A0poh-LVZgw.png" alt="Image" width="549" height="72" loading="lazy">
<em>GoDaddy Manage Domains Dashboard Screenshot with Arrow pointing at Manage option. (1)</em></p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/0*lPnjNy8Qd3T6d7lq.png" alt="Image" width="519" height="175" loading="lazy">
<em>GoDaddy Domains Dashboard Screenshot with the arrow pointing at Manage Zones option. (1)</em></p>
<p>Select the Domain you need to add the DNS entries to in the screen after clicking on Manage Zones.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/0*CK4w3j4dsw2ZE060.png" alt="Image" width="700" height="216" loading="lazy">
<em>GoDaddy DNS Zone Editor Admin Dashboard Screenshot with Arrow pointing on the Add Option. (1)</em></p>
<p>On the bottom of your records on the right-hand side, you will see an ‘Add’ button which will lead to the following dialog menu in which you will enter the SPF, DMARC &amp; DKIM entries each individually:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/0*lZzVRpdjY3z0dq53.png" alt="Image" width="600" height="207" loading="lazy">
_GoDaddy Add DNS Entry Admin Dashboard Screenshot with button pointing at Save button and TXT as type, <em>dmarc as Host and the required value under TXT Value highlighted. (1)</em></p>
<p>For other guides for Zone Editors, just go to the knowledge base/support center of your Domain Provider.</p>
<h3 id="heading-setting-up-spf">Setting up SPF:</h3>
<p>The SPF is the easiest to set up. You will need 2 things:</p>
<ol>
<li>Your DNS Editor (i.e. GoDaddy Admin Portal)</li>
<li>The IP address of your e-mail server</li>
</ol>
<p>After accessing your DNS Editor (also called DNS Zone Editor in CPanel), you want to create a new TXT entry. In this TXT Entry, you should have 3 possible fields: Host, TXT Value / Value &amp; TTL (Time-To-Live). What you will enter in these fields is the following (some details might vary, <strong>this is based on a GoDaddy installation</strong>):Host: @ TXT Value: v=spf1 +a +mx +ip4:~allTTL: 1 Hour</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*5dQV9o1PaFDrABCi3ISHVg.png" alt="Image" width="800" height="217" loading="lazy">
<em>GoDaddy DNS Sample TXT Entry for the SPF settings as described above.</em></p>
<p><strong>Explanation / Meaning of these settings:</strong></p>
<p>‘@’ is the designation within GoDaddy that refers to the Domain you are working in. So if you are working inside ‘doecompany.com’ you could replace ‘@’ with ‘doecompany.com’ and the result would be the same. However, it is best practice to use the ‘@’ symbol instead in the case of GoDaddy.</p>
<p> is the IP of where your e-mails are being sent from. This is not necessarily the same IP that the actual website is hosted on.</p>
<p><strong>+a:</strong> Includes A record</p>
<p><strong>+mx:</strong> Includes Mail Server record</p>
<p><strong>+ip4:</strong> Designates from which IPv4 server</p>
<p><strong>~all:</strong> Records outside of the prior declared ones will fail.</p>
<p><strong>TTL = 1 hour</strong> (or 3600 seconds): Time-To-Live, or how often this should expire. If you were to change e-mail servers, you would be glad that there is only a maximum gap of 1 hour of not being authenticated.</p>
<h3 id="heading-setting-up-dkim">Setting up DKIM:</h3>
<p>This is the most tedious of the three to set up and the most critical one. You will authenticate the 3rd party to send on behalf of your e-mail name, i.e. ‘john@doecompany.com’.</p>
<p>I have 2 DKIMs currently set up:</p>
<ol>
<li>For my actual Mail Server which lives on a different server than my actual website (this is more common in Enterprise environments).</li>
<li>For my e-mail newsletter blast service provider (ConstantContact in this case, it could easily be Mailchimp or someone else in your case).</li>
</ol>
<p>For both scenarios, your legwork is the same. You will have to contact the e-mail support of your Mail Server or Third Party e-mail sending service and have them install the DKIM on their end, for your account.</p>
<p>This is completely out of your hands and typically takes them 1–2 days to complete this task. Basically what is happening is that they will register and install an RSA of at least 1024-Bit encoding (2048 is better) on their server.</p>
<p>After they got it set up, they will send you a Public Key that you will be using in the next step to set up your DKIM record.</p>
<p>Just like with the SPF &amp; DMARC records you will access your DNS Editor (also called DNS Zone Editor in CPanel), and create a new TXT entry. In this TXT Entry, you should have 3 possible fields: Host, TXT Value / Value &amp; TTL (Time-To-Live). What you will enter in these fields is the following (some details might vary, this is based on a GoDaddy installation with the e-mails being hosted on inmotionhosting.com and ConstantContact as Newsletter service). Remember to make 1 separate entry per DKIM record:Host: ._domainkeyTXT Value: v=DKIM1; k=rsa; p=TTL: 1 Hour</p>
<p>Make sure not to leave any spaces after the ‘=’ symbols.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*nj_ycXzk_LsASRBfcw7b3A.png" alt="Image" width="800" height="216" loading="lazy">
<em>GoDaddy DNS Sample TXT Entry for the DKIM settings as described above.</em></p>
<p><strong>Explanation / Meaning of these settings:</strong></p>
<p>The host can be a name or number and is truly unique to the third party. When an e-mail is being sent on your behalf, that e-mail will have that name or number included in the header. That is the record it will be looking under your domain for.</p>
<p>In layman’s terms and our example, the recipient server would go to ‘doecompany’s DNS records and look if what the 3rd party claims to be true will be there. Only if the public key properly validates with the key on their server, the e-mails will be sent out.</p>
<p><strong>v=DKIM1:</strong> Simply specifies the version of DKIM being used to clarify further what to look for.</p>
<p><strong>k=rsa:</strong> RSA is the most typical one to use as the Key (k). Your 3rd party might opt-in to use something else. But RSA with a 2048 bit encryption is the most secure option you can have at the moment. 1024 bit is good, too.</p>
<p><strong>p=:</strong> Instead of ‘’ you would be provided with either a 1024 bit or 2048 bit string of seemingly random text and numbers or other values suited to whatever encryption the 3rd party decided to utilize.</p>
<p><strong>TTL = 1 hour</strong> (or 3600 seconds): Time-To-Live, or how often this should expire. If you were to change e-mail servers, you would be glad that there is only a maximum gap of 1 hour of not being authenticated.</p>
<h3 id="heading-setting-up-dmarc">Setting up DMARC:</h3>
<p><strong>Reminder:</strong> In order for the DMARC to do its job, you MUST setup SPF AND DKIM before. Because DMARC verifies SPF &amp; DKIM settings and whether or not the sender suits these settings and is not a spoofer. If SPF &amp; DKIM are not set up, DMARC won’t work and will result in rejected e-mails.</p>
<p>Just like with the SPF records you will access your DNS Editor (also called DNS Zone Editor in CPanel), and create a new TXT entry. In this TXT Entry, you should have 3 possible fields: Host, TXT Value / Value &amp; TTL (Time-To-Live). What you will enter in these fields is the following (some details might vary, this is based on a GoDaddy installation with the e-mails being hosted on inmotionhosting.com):Host: _dmarcTXT Value: v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400TTL: 1 Hour</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*TvOQkx-VHgLLx7o831YsAg.png" alt="Image" width="800" height="213" loading="lazy">
<em>GoDaddy DNS Sample TXT Entry for the DMARC settings as described above.</em></p>
<p><strong>Explanation / Meaning of these settings:</strong></p>
<p>The Host is declared as ‘_dmarc’ because within GoDaddy it will automatically add ‘.johndoe.com’ as a subdomain. This means when an e-mail is being sent out, the DMARC will always be checked under that selector against your domain. If this is not set up properly as ‘_dmarc’, the e-mail servers won’t be able to find your DMARC entry and will automatically fail your e-mail as they believe there is no entry to begin with.</p>
<p><strong>v=DMARC1:</strong> Declares the version of the DMARC to clarify what is being used and make authentication more legitimate.</p>
<p><strong>p=reject:</strong> E-mails will be rejected from the recipient e-mail server if they don’t match the DMARC records.</p>
<p><strong>sp=none:</strong> Do not check if subdomains and the main domain have aligned settings; this is optional.</p>
<p><strong>adkim=r:</strong> Whether to be strict (s) or relaxed (r) with the DKIM identifier settings; relaxed is the default.</p>
<p><strong>aspf=r:</strong> Whether to be strict (s) or relaxed (r) with the SPF identifier settings; relaxed is the default.</p>
<p><strong>pct=100:</strong> 100 percent of e-mails are going to be affected by the DMARC. Integer values between 1 to 100 only. The smaller set would make sense only for testing; should be 100 for security purposes.</p>
<p><strong>fo=0:</strong> A DMARC error report is created if SPF &amp; DKIM fail to be authenticated. 0 is the default value. Others are 1, d and s. 1 is if either one fails, to generate a record. d if the signature failed evaluation. s if SPF evaluation failed.</p>
<p><strong>rf=afrf:</strong> The formatting for the message failure reports. afrf is the only supported value at the point of this writing.</p>
<p><strong>ri=86400:</strong> How many seconds passed between sending the report to the sender. 86400 is default which is 24 hours or 1 day. Many of the major mailbox providers such as Gmail, Yahoo, etc. will send more than one report a day.</p>
<p><strong>TTL = 1 hour</strong> (or 3600 seconds): Time-To-Live, or how often this should expire. If you were to change e-mail servers, you would be glad that there is only a maximum gap of 1 hour of not being authenticated.</p>
<p>And that is how you properly authenticate your e-mails. I hope this took some of the mystery and complication out for you. You will be on your way of not getting those troublesome kickbacks from your mailer-daemon anymore!</p>
<hr>
<p><strong>Author:</strong></p>
<p>Andreas Lopez — <a target="_blank" href="https://www.linkedin.com/in/andreaslopez/">https://www.linkedin.com/in/andreaslopez/</a></p>
<p><strong>Editors:</strong></p>
<p>Stevan Pupavac — <a target="_blank" href="https://www.linkedin.com/in/stevan-pupavac/">https://www.linkedin.com/in/stevan-pupavac/</a></p>
<p>Frederick Alcantara — <a target="_blank" href="https://www.linkedin.com/in/frederick-alcantara/">https://www.linkedin.com/in/frederick-alcantara/</a></p>
<p><strong>Sources:</strong></p>
<ol>
<li>GoDaddy Screenshots by DMARCanalyzer.com: <a target="_blank" href="https://www.dmarcanalyzer.com/dmarc/dmarc-record-setup-guides/dmarc-setup-guide-godaddy/">https://www.dmarcanalyzer.com/dmarc/dmarc-record-setup-guides/dmarc-setup-guide-godaddy/</a></li>
</ol>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ The Savvy Digital Marketer’s Guide to Productivity: How to Learn SQL, Python, and… ]]>
                </title>
                <description>
                    <![CDATA[ By Trevor Fox The answer is “Yes.” You’ve gotten this far, and you’re in a good place. You’re ready to take the first bold step toward building a valuable new skill and even better: achieving IT independence. No matter what you choose, as long as you... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/the-savvy-digital-marketers-guide-to-productivity-in-2019-how-to-learn-sql-python-and-ec5669a9deeb/</link>
                <guid isPermaLink="false">66c3624c5731bdf41f8c6448</guid>
                
                    <category>
                        <![CDATA[ career advice ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Digital Marketing  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 11 Jan 2019 18:16:54 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*WBkMPz8mjQKRXwQGD05r1g.gif" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Trevor Fox</p>
<p><strong>The answer is “Yes.”</strong> You’ve gotten this far, and you’re in a good place. You’re ready to take the first bold step toward building a valuable new skill and even better: achieving IT independence. No matter what you choose, as long as you move forward, you’ll be thanking yourself in no time.</p>
<p>I started learning to code six years ago after a failed professional baseball career, and I maintain that it was one of the best decisions I’ve ever made. At the time I was working at a web agency as a digital marketing generalist. I would find myself hacking spreadsheets to death until they resembled the automation I was looking for or running into dead ends when I found myself staring into small text areas that would allow me to customize some bit of code in a CMS.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/Ahy7c-JOIZrlmRJyxjhGdaXFy8YSNcpCquze" alt="Image" width="384" height="288" loading="lazy"></p>
<p>I was surprised and grateful for how rapidly I was able to apply what I learned. That’s what I want to help you with today.</p>
<p><a target="_blank" href="https://trevorfox.com/learn-digital-marketing-technical-skills/">I started with Javascript</a>, moved to Python, and finally to SQL. I followed this path because of the framework I outline below. For the most part, though, there is no wrong answer. Learning <em>how</em> code works — as a set of instructions that tell a computer how you want it to operate — is pretty universal. Learning a scripting language will help you learn others, and the same is true for query languages like SQL. So don’t worry, switching costs are low and the only time wasted is the time waiting to get started.</p>
<p>To get the most out of your learning path, the value is all about applicability. So the first question is, <strong>what problem do you want to solve with code?</strong> Necessity is a strong motivator and will keep you focused. Starting with an end in sight is the right way to go.</p>
<h3 id="heading-application-what-problems-do-you-face"><strong>Application: What problems do you face?</strong></h3>
<p>Each of these programming languages was initially purposed to solve a particular problem. For Javascript, it was <a target="_blank" href="http://2ality.com/2011/03/javascript-how-it-all-began.html">running applications in a browser</a>; for Python, it was actually <a target="_blank" href="http://effbot.org/pyfaq/why-was-python-created-in-the-first-place.htm">systems administrations</a>, and for SQL it was for <a target="_blank" href="https://docs.oracle.com/cd/B13789_01/server.101/b10759/intro001.htm">querying relational data sets</a>.</p>
<p>Today, Javascript and Python have evolved far beyond their origins into everything from web applications to embedded hardware. SQL is well… still a very specialized (but very useful) programming language.</p>
<p>Though the applications have broadened, each programming language has more immediate value in some domains than others. And you will be more motivated to learn if you know you have a good problem to solve.</p>
<p>I am looking at this from the standpoint of a digital marketer or digital analyst who depends on data to be successful at their job — because that is where these programming languages will be immediately valuable. So consider your access to data:</p>
<ol>
<li><p>Do you have access to a relational database?</p>
</li>
<li><p>Do you need to access, interpret, manipulate, and move data?</p>
</li>
<li><p>Do you need to track website analytics?</p>
</li>
</ol>
<h3 id="heading-a-case-for-sql">A Case For SQL</h3>
<p>If you said “Yes” to 1 and “No” to the others, then the answer is easy: learn SQL. Not everybody is working in an environment that they can use a data warehouse for analysis (even though it is <a target="_blank" href="https://panoply.io/">easier than ever to set up a data warehouse</a>) so if you are you find yourself repeatedly exporting lists from marketing or e-commerce or applications asking IT, a DBA, or engineers to get data out of a database or data warehouse for your analysis, hurry up and learn SQL! You’ll thank me in a few short weeks.</p>
<p>I recommend <a target="_blank" href="https://www.coursera.org/learn/analytics-mysql">Duke’s SQL class</a> on Coursera to go from zero to usable SQL skill in a less than two months. With that class and a couple books about PostgreSQL, I learned enough to record <a target="_blank" href="https://www.youtube.com/watch?v=FvVzxUffrlw">this demo with ad network data.</a></p>
<p>There are even good Android/iPhone apps that will help you learn the syntax through repetition. The class I recommend below (<a target="_blank" href="https://www.coursera.org/learn/data-manipulation">Data Manipulation at Scale: Systems and Algorithms</a>) for Python also touches on SQL so it’s a double whammy and <a target="_blank" href="https://www.pythonanywhere.com/">Python Anywhere</a> also features hosted MySQL, so that’s a double-double whammy!</p>
<p>The decision between Python and Javascript is a bit stickier. These are two of the most popular programming languages in the world, and both have tons of great resources to go into any depth that you want — mostly for free!</p>
<h3 id="heading-a-case-for-python">A Case for Python</h3>
<p>If you said “Yes” to 2, I would recommend Python. It is straightforward to learn and provides a great foundation for learning ANY programming language. You can use it to access and interact with API’s which can substantially increase the scale of your marketing activities. For instance, Facebook has an API for Facebook ads what allows you to create and manage campaigns programmatically. That is like a magic wand for marketing!</p>
<p><strong>BUT</strong> you will find that you have to learn more than just the basics to do anything that interesting. Python runs on your computer or a server, so you have to learn <em>how</em> <em>to run</em> the code on top of <em>how to write</em> the code.</p>
<p>If you are ready to set your mind to it and head down that path, I recommend starting with Udacity’s <a target="_blank" href="https://www.udacity.com/course/introduction-to-python--ud1110">Introduction to Python Programming</a>, It is perfect for digital marketers because it introduces the concept of, and teaches you to build a <em>very</em> simple web crawler (think Googlebot). After that, Coursera’s <a target="_blank" href="https://www.coursera.org/learn/data-manipulation">Data Manipulation at Scale: Systems and Algorithms</a> (Week 1) shows you how to do Tweet by accessing the Twitter API with Python. Fun (and scary) stuff!</p>
<p>When you want to try some practical stuff, check out <a target="_blank" href="https://automatetheboringstuff.com">Automate the Boring Stuff</a> for interesting projects you can do on your computer, or <a target="_blank" href="https://www.pythonanywhere.com/">Python Anywhere</a> or <a target="_blank" href="https://aws.amazon.com/lambda/">AWS Lambda</a> to get started running Python in the cloud!</p>
<p>The quickest way to apply Python toward digital marketing is to use <a target="_blank" href="http://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/what_is_jupyter.html">JuPyteR</a> for data analysis, but that still has a bit of a learning curve so beware. <a target="_blank" href="https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1449319793">Python for Data Analysis</a> is a great way to get started in that direction.</p>
<h3 id="heading-a-case-for-javascript">A Case for Javascript</h3>
<p>If you said “Yes” to 3 and you are a logic whizz, then you guessed it, learn Javascript. While Javascript can be used to make a lot of interesting web apps, (I finally made handy app with D3 for <a target="_blank" href="https://keywordclarity.io/">keyword research</a>) it can also be useful within a few weeks if you want to set up or enhance Google Analytics on a website.</p>
<p>Most CMS’s make it pretty easy to edit at least some Javascript code, and Google Tag Manager makes it possible to insert Javascript code for tracking. Javascript is also how A/B testing tools like Optimizely and Google Optimize change the layout of a webpage. If you run a Google Ads account, you can even use Javascript to update and maintain your ads programmatically. Did you know <a target="_blank" href="http://googleappscripting.com/">Google Apps Script</a> uses Javascript!?</p>
<p>Just because it might be easier to start seeing the benefits of learning to code with Javascript does not mean it is an easier language to learn in general. Between callbacks, Javascript’s version of Object Oriented Programming, and the zillions of libraries, versions, and frameworks, there can be some rough patches, but sticking with it will help you understand how the browsers and the web work. That will completely change your world!</p>
<p>I learned, <em>like really learned</em>, Javascript fundamentals on <a target="_blank" href="https://www.freecodecamp.org/">freeCodeCamp</a> and I was able to apply it before I finished the first certification. I don’t need to tell you how to navigate your interest in Javascript; their curriculum does a great job of that. I would only add that checking out <a target="_blank" href="https://vimeo.com/8691412">Javascript the Good Parts videos</a> will speed up your understanding of the Javascript world.</p>
<h3 id="heading-happy-2019">Happy 2019!</h3>
<p>I hope that at the end of this year you will look back on your accomplishments and be proud of your commitment and the applicable, career-growing skills you’ve acquired. If you want to learn more about <a target="_blank" href="https://github.com/trevorfox/digital-marketing-technical-fundamentals">web fundamentals for digital marketing</a> check out the <a target="_blank" href="https://github.com/trevorfox/digital-marketing-technical-fundamentals">open source guide</a>. If you have more to share, please contribute. Good luck, and get started!</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
