Creating a Custom Facebook Audience by Passing Variables from Your Website with Google Tag Manager


Let’s say your company owns 10 car dealerships in 3 different cities. Dealerships A, B, & C are located in City 1, Dealerships D, E, & F are located in City 2, and Dealerships G, H, I, & J are located in City 3. Each of these dealerships offers 3 types of car: Trucks, Sedans, and Minivans.

Let’s say a potential customer visits Dealership A’s website and looks at a Sedan, but does not convert. We might assume that the user is looking for a Sedan in City 1, but has not yet made a decision on which Sedan to buy. Using a custom Facebook audience, we could show this user an ad containing links to the different Sedan offerings at Dealerships A, B & C, since they are all located in City 1. Using the Data Layer and Facebook’s Conversion Pixel, this is actually a fairly simple setup.

Define Variables with Data Layer and Google Tag Manager

For our example, we really only need to know two things:

1. The city where the dealership is located
2. The car type that the user viewed

Let’s define these variables as dealerCity and carType. You will need to pass these variables to the data layer, which is a subject you can learn more about here.

Now you will need to create these variables within Google Tag Manager. Navigate to the User-Defined Variables box in the Variables tab, and click New. Assuming that the values of these variables will be available in your site’s data layer, you can choose the Data Layer Variable configuration type, and simply input the variable name in the field.

Note: If you are having trouble getting your data layer to populate properly, but you can define either of these variables with URL information (such as a query string containing something like ?dealerCity=Indianapolis&&carType=Sedan), then you might try creating a lookup table instead of a data layer variable. You can read more about the lookup table macro here and here.

Facebook Pixel Tag

If you have not yet created your Facebook pixel, read how to do so here.

Now you’ll need to add your Facebook Pixel as a tag in GTM. Create a new tag and name this tag Facebook Pixel All Pages, or, whatever naming convention you’d like to use to indicate that this is your base tag for Facebook. Paste the code generated by Facebook into a Custom HTML Tag Configuration, and set this tag to fire on all pages. This will ensure that Facebook’s pixel is always active and ready to pass data back to your Facebook Ad Account.

Tag for Custom Facebook Event

Now we want to create a custom event tag that passes your custom data into Facebook. Facebook uses the fbq call to indicate data arrays, and the trackCustom call for passing non-standard arrays (Facebook supports 9 standard data types, which you can read about here).

The code below is intended to send a City_Cars event array to your Facebook conversion pixel, containing the variables dealerCity and carType. Within Facebook, the variables dealercity_id and cartype_id will carry the data layer values in {{dealerCity}} and {{carType}}.

fbq('track','City_Cars', {
dealercity_id: '{{dealerCity}}',
cartype_id: '{{carType}}'

<img height="1" width="1" style="display:none"

Note that you must define these variables in both the fbq call and the query string on the URL within the <noscript> section. The number contained in id=1111111111111111 will be equal to the ID number in your standard Facebook conversion pixel. Set ev= to the name of the event (City_Cars in our case), and then follow the format &cd[variable_id]={{GTM variable name}} for all values contained within the fbq array.

Under Tag Sequencing, make sure that your Facebook Pixel All Pages tag is firing first. This is important, as your Facebook Pixel must be active before data can be passed through it.

Set Up Custom Audience in Facebook

Let’s now create the remarketing list for potential customers looking for Sedans in City 1.

Go to the Audiences section of your Ads Manager and click Create Audience. Under the Website Traffic dropdown, choose Custom Combination. Then, under the Include drop-down, choose Event, and enter City_Cars in the Choose an event field. Now you will be able to add the individual parameters dealercity_id and cartypes_id and choose the values City 1 and Sedan, respectively.

Now you can use your new audience to target potential buyers who are interested in finding a Sedan in City 1. You can also set up an audience for each city and car type combination, and set up ads that target each unique pairing.


Photo Credit:

Let us solve your Facebook advertising problem.

    franchisee websites

    Why Your Franchisees Are Marketing On Their Own Without Your Help

    Local stores and franchisees are running their own online marketing efforts. We see it every day. These are often non-sanctioned marketing efforts. Even if they are allowed, they aren’t up to the standards of the parent company. The store could have created a rogue Facebook account, website, print campaign, or even television commercials.

    But, why does the local store or franchisee do it? Why do they use their valuable time to run their own campaigns when they could just rely on the corporate campaigns and spending time running their business? There are several reasons for it, but they all stem from one thing. They aren’t satisfied with the help they are getting from corporate in driving business growth for their own store. And they are getting great results by doing it on their own.

    So why aren’t they satisfied with the corporate marketing efforts? Because:

    • Corporate is focused on the whole nation and not the intricacies of their market.
    • Corporate efforts are not getting enough business out the gate for a newly established market.
    • Corporate search efforts are mainly on broad national search terms and not localized search terms.
    • They like to do things their own way.

    National Campaigns Not Relevant

    The franchise or corporate entity has limited resources and wants to use those the best they can. This often leads to nationally focused marketing campaigns that don’t take into account local variance. When you are selling HVAC services in Detroit and Miami, the message and concerns of the customer are different. You have to approach them differently. The Detroit customers have to worry about efficiently heating and cooling their home, while the Miami customers primarily worries about cooling their home and ensuring the comfortable existence in a high humidity area. The systems you install are different and the questions the customer has are different. Approaching them differently leads to a better buying experience where both parties are more likely to buy.

    Nationally focused ad campaigns make it hard to accomplish this. Many national brands are doing a better job of this in their offline channels, ensuring that different areas are mentioned or that the pictures of the homes in their ads match the area. Likely because they have learned a lot about variable printing over the years. But, most are not doing the best when it comes to applying this strategy to the web, where more and more marketing dollars are being allocated every year as customers spend more time looking at computer screens and mobile devices.

    One franchisee that we talked to did his own marketing and mentioned that the reason he did it is because people in his market didn’t understand the product as well. He said that in the hot markets for the company, customers only cared about how much, how fast, and what the quality was. Those markets didn’t need product category education. But, in his market, what customers cared about was knowing if the product would work in their home? What are the benefits? Does it fit with my home style?

    Another thing about national only campaign strategies is that customers often want to work with a small business. While it is hard to consider many franchises as small businesses, locally based marketing strategies make franchises appear more local to the customer. They let the local business not only tell the national brand’s story, but the individual owner’s story as well. This ties the brand to the local community, making the business appear smaller to the customer as they feel they could actually talk to the person in charge.


    Wow, you don’t want to be perceived as big business!


    From the chart above, it shows that there is a 50 point spread between how much confidence a person in America has in small business versus their confidence in big business. With multi-location businesses then, you need to emphasize what is local about you, and that contributes to the desire of the location to wanting to do their own marketing.

    Newly established market

    When you are a new market for an existing franchise the marketing rules for your existing stores do not apply. Existing stores often need to do less education for current customers. But, a new store with a new product that the area hasn’t seen or completely grasped yet needs more dollars thrown towards education. Often, franchises approach the rollout of a new store with the same effort as they do for every other store. When in reality new stores need more money and need to hit more avenues for opening up business. This is partly because this new store does not have an existing book of business.

    So when a new store launches they are often grasping for anything that can help them get off the ground, which makes them look for cost effective marketing solutions to help them in their market. This means, they start their own social media accounts and start posting. And since website costs have gone down, they may start a new website, but it often doesn’t meet corporate standards or corporate strategy. Maybe the corporate standards should change online then. And it is getting easier than ever for them to do this.

    Power Of Local Search

    I am going to put this out there and it will be surprising for most of you. Local small businesses can dominate the searches in their local market, and beat out large corporations. A well-run marketing campaign by the local business in a given market is almost always going to out-perform the national chain in the search engines, particularly Google. I see it every day. Just look at the following searches to see local companies organically ranking higher in organic results and even maps listings:

    A few things to notice as you check out geo-targeted search terms in these markets. In all these cases the top or near the top searches are local businesses with a strong web presence. Sometimes they directly link of many local businesses such as a Yellow pages and other local directories. But, you will notice that the large national chain sites are hard to see. In fact, the best ranked national brands have local websites of their own as well. Over time this will become more and more commonplace. You will see more businesses and corporations using local websites to compete in search.

    The calculation is simple. In Google’s and the customers’ opinion, what is more relevant: a corporate site with one page about that product or service in your area, or an entire website about that product or service in your area? This is especially true when it comes to more locally relevant content that refers to needs in that specific market. But, beware, there are right ways and wrong ways to do this. And unless you have the right website solution, the undertaking will be huge or the results will be poor due to the sites not being unique enough. So, seek out the right solution to make this work for your locations.

    Any store that has started their own website has seen the benefits of having their own website. And it isn’t just increased traffic, it is increased conversion rates as well.

    Doing Things Their Own Way

    Many executives view stores that do their own marketing as owners or managers who just like to do their own thing, in their own way. They think that they simply want more control. And because they want to do things their own way, they aren’t being a team player, and they should stop their efforts. They also then devalue the work and insights that the local store came up with. The problem with that thinking is that if they are spending their own time and money on those efforts, then they likely have a very good reason for doing so.

    It also means it might be time to learn from their efforts as they are a great experiment for you. While they might have done a poor job on their marketing or might have done marketing they shouldn’t have, they likely know have a lot of knowledge that can be applied to their specific business. And if you want to investigate doing your own local online marketing programs, these stores are a good place to start. Bottom line, no stores are really doing this, simply because they like to do things their own way. They are doing it because it works for them.

    By combining their knowledge with corporate resources you can create a great program for every store.If you are ready to start talking to these stores and begin creating more localized marketing programs, give us a call.


    Photo Credit:

    Let us solve your franchise marketing problem.

      4 Considerations When Implementing Multi-Location PPC

      Businesses with dozens or even thousands of locations have a unique paid search (PPC) challenge; how to efficiently execute a localized strategy. I’ve worked on many multi location PPC accounts that approached the issue of multiple locations in different ways, and while there are pros and cons to all account structure strategies, below are the main considerations that we, at Flint Analytics, take in to account when determining the best solution for each of our clients.


      Adwords offers a few choices when it comes to billing: automatic payments, manual payments and invoicing. Depending on how many locations you intend to advertise for and how you intend to pay for each location’s spend will determine which option will fit your needs best.

      I’ve worked on ppc accounts for huge, Fortune 500 companies that had little concern for individual store KPIs and instead were focused on regional and national performance as well as performance by service category (campaign group level). In this type of model, it was best to use one PPC account that rolls their media dollar spend up to one invoice at the corporate level where the marketing department received a monthly invoice for all locations.

      Alternatively, I’ve also experienced companies that have individualized needs for each of their locations. For example, perhaps you have 100 franchise locations that all pay in to the same marketing pot and you need to be able to easily access individual store invoices. In this scenario, it may make more sense set up separate accounts for each store or region of shared stores that share an invoice. Each account can pay with a credit card as an automatic payment or set up monthly invoicing (if they meet Google’s invoicing requirements and pass the credit check).

      The company’s need to keep track of their media spend will determine how you want to set up their Adwords account(s). This is something we hammer out with clients early on in the process so you set up everything correctly the first time.


      Adwords made things easier for us when they rolled out the capability to share daily media budget across multiple campaigns. You can even set many separate daily budgets and share them across different campaigns. For instance, say you have 10 locations in a Midwest region that all share the same media budget. You could make a “Midwest Budget” and share it with only the Midwest stores’ campaigns. Then, say you have 20 stores in the Southern region. The same concept would apply; create a “Southern Budget” and apply it to only the campaigns that are targeted to your Southern region.

      This technique makes it easier to provide many store campaigns with a chunk of daily budget and allows the AdWords system to allocate those dollars where they’re needed throughout the day. The major pro to this system is avoiding the task of manually allocating dollars across campaigns. That being said, there are also some cons to this setup. For one, if your daily budget is limited because you only have say $5,000 to spend per day but your keywords and geographies can spend $20,000 per day, AdWords won’t necessarily send the dollars to the top performing campaigns, but rather, to where those dollars can be spent.

      Day-to-Day Management

      Granular ad groups with relevant ad copy and corresponding landing pages are the backbone of PPC. When planning your account structure, it’s a good idea to think through how many ad groups, keywords and pieces of copy you’ll end up with and if you’ll be able to effectively manage the workload. If you’re managing 20 accounts under the same company, can you efficiently keep tabs on their performance and make bulk changes quickly if they’re all in separate accounts? Alternatively, if you don’t make your campaigns and ad groups granular enough, can you reap all the benefits of a localized structure or will you run the risk of appearing too general/national to capture a local audience?

      Landing Pages

      Businesses with multiple locations may struggle with PPC performance when they send all of their visitors to the same landing page or to a small batch of landing pages that aren’t localized. Users are more likely to convert when the landing page matches their search query and provides them with the content they’re looking for without having to dig in to your site to find it. We can take this concept one step further by providing a localized landing page that matches the user’s intended location or physical location.

      As an example, let’s look at an appliance and electronics store that operates hundreds of locations across the United States. Let’s assume this location has three stores in the Indianapolis metro area. If you’re running a refrigerator sale at all nationwide locations, and someone in the Indy market searches for “GE profile refrigerators Indianapolis”, you’ll be able to appeal to that potential searcher by sending them not only to a GE refrigerator product page, but can take them one step further by showing them products available in their service area. On the landing page, that searcher is more likely to explore your offerings if they can see that there is an appliance store within a few miles of their home where they can go see the appliance in person after browsing on your site.

      In addition, think of the other calls to action you can add to your landing pages to help improve the localized experience: discount coupons for their store, a trackable phone number if they want to call directly, your local address and store hours, relevant offers that may sweeten the deal (like free shipping and installation), an efficient e-commerce system if they’re ready to buy, etc.

      Your multi location PPC strategy is made up of many components and PPC work is never really finished, but the key items highlighted above should help you get off on the right foot. Do you have any questions about how to improve your multi location PPC? Contact us here.


      Photo Credit:

      Let us solve your PPC problem.

        tracking multiple sites with tagmanager

        Track Multiple Websites With One Google Tag Manager Container

        Tag Manager has made analysts’ lives easier over the last few years. This is especially true when dealing with multiple websites.

        We have many clients that use multiple websites for marketing. They may be a property management company with a website for each property, or a franchise business that has a different website for each location to have local variation in copy, messaging, and more. These clients tend to have a template with similar functionality on their sites, but each site needs its own analytics ID or profile view for varying reasons. Most commonly, because individual managers only need access to a specific site’s data.

        What we are trying to track is similar across sites, it would be a pain to create a new container or a new tag for each Google Analytics pageview or event we want to track. That would mean that any change we made to the analytics tracking would have to be done for every site. And depending on the number of sites you have this could be an awful experience.

        By default, these sites have similar contact forms, purchasing tools, custom metrics, custom events, etc. With this much similarity and the only difference being tracking, it would be a whole lot of copy and paste work to track all these sites at once. But, we have an easier way to do this. It is called the Lookup table in Google Tag Manager.

        Google Tag Manager allows us to ask the question of, “What site am I on?”, and then give the answer by using the proper Google Analytics account. Let’s see how this works.

        First you need to create a new variable and select Lookup Table.

        Google Tag Manager Lookup Table

        Next select {{Page Hostname}} as the input variable. Don’t forget to name this new variable as well. I just named it GA-ID. You can use most characters like dashes or spaces. An error window will pop up if there’s a character it doesn’t accept.

        Page Hostname as Input Variable in Google Tag Manager

        If Page Hostname is not available to you, go to the variable section of your container and check the box next to that variable under the “Pages” section.

        Page Hostname in Google Tag Manager

        Now it is time to set up the input and outputs you want for the table. You must set up one for every hostname you want tracked. Remember that one site will potentially have multiple hostnames. Every subdomain is a hostname. So,,,, and are all different hostnames. If your site uses both the www and the non www version then you will need to do an input and output for both. But, it is good practice to generally have your site use one or the other. The screenshot below shows how you would set this up.

        Setting up inputs and outputs for Google Tag Manager

        These lists can be as long as you need. So whether you have 10 sites or 100 sites, the lookup table should work great.

        Time To Use The Variable

        Now it is time to use the variable to create a new tag. You use the following process any time you want to create a new Google Analytics tag with a lookup table variable. For example, if you wanted to fire off the general analytics tracking code on every page:

        1. You would create a tag.
        2. Name it.
        3. Select Google Analytics and Universal Analytics.
        4. Then, where it asks for your Tracking ID, you are going to use the variable {{GA-ID}} you created. Either type it in or use the Lego brick next to the form to select it.

        Tracking ID in Google Tag Manager

        Finally, set your trigger of all pages and publish. Now, when you go to each site in your list it will use the proper tracking id for all the sites in this tag. This gives you one tag that works for all sites that this container is functioning on.

        A whole new world of tracking possibilities is open by using the lookup table, and we will be talking about many more of them in the future. Bottom line, countless hours can be saved tracking multiple websites with tag manager. Let us know if you have any questions.


        Photo Credit:

        Let us solve your analytics problem.

          Landing Page Optimization Tools (CrazyEgg)

          Landing Page Optimization Tools (CrazyEgg)

          Not all website pages are created equal. And, where conversion rates rule supreme, your newly created landing page better match or outperform the existing pages. But, you’re thinking: what more can I do? I followed all the CRO tips I learned from an article I read last week. I tweaked that landing page until every last word fit just perfectly on every device. I have Google Analytics code in place, and my goals are set up and reporting. What more can I do?

          Those were exactly my thoughts when I set up a landing page for a client last month. I was anxious to see the page succeed. That’s when I realized that I need to be proactive rather than reactive to the site visitors’ behaviors. I need to understand their experience on that page. That’s where CrazyEgg comes in.

          CrazyEgg is a tool that tracks where page visitors click and how far down a page they scroll. Its interface is straightforward and easy to use. You simply create a “snapshot” of your landing page by entering the URL. Choose the device view you want to track: desktop, tablet, and/or phone. Then, insert the line of code provided to you on that specific landing page. And, just like that, CrazyEgg will start reporting on the traffic patterns on that page.

          Here are some of the current report options:


          See how deep your visitors go on your page with this color-coded gradient overlay. The data is aggregated to create a scrollmap that clearly depicts the percentage of visitors that made it to 25%, 50%, 75%, and 100% of your page’s length.

          CrazyEgg Scrollmap: Flint Analytics Home Page

          Extracted from CrazyEgg on Nov 14, 2014.

          Now, you can see if people scroll below the fold. You can adjust your content to accommodate their inclinations. If you have a form at the bottom of the page and realize that most people don’t make it past 50%, you might consider moving the form above the fold or adding it to the sidebar.


          For me, this is the most helpful of the reports that CrazyEgg provides. In a glance, you get an idea of where people are clicking on the page. Sure, you can get similar information from Google Analytics if you wanted. But, you won’t get the beautifully visualized data all in one place.

          CrazyEgg Heatmap Flint Analytics Home Page

          Extracted from CrazyEgg on Nov 11, 2014.

          The brighter the color, the more frequent the clicks on that element. This report was really helpful when we revamped our own website. We noticed that visitors would land on the Flint Analytics home page and click on the sentence below the main slider: Transforming Your Data Into A Successful Marketing Fire. But, that text was not linked to any other page on the site. This would lead visitors to be frustrated as they expected their action to result in more information about our process of starting marketing fires. So, we hyperlinked the text and sent it to “Our Process” page to make the experience smoother. We would have never gotten this information from Google Analytics.


          Although on the outset, this report might seem the same as the heatmap, the clickmap (or confetti) is actually a more detailed look at your visitors’ clicks. It shows a) the exact point of contact between the cursor and the web page and b) the referral website the click is attributed to.

          CrazyEgg Clickmap (Confetti): Flint Analytics Home Page

          Extracted from CrazyEgg on Nov 11, 2014.

          What the clickmap allows you to do is pinpoint areas on your page that are not functioning the way users expect them to. The clickmap may show multiple clicks in the vicinity of a word in the menu bar, but the area around the word is not linked – only the text itself. Realizing that your users are not taking the time to click on the text itself, you can turn the tab into a clickable element, eliminating any unintended friction with the page.

          CrazyEgg Confetti Legend: Flint Analytics Home Page

          On the left hand side, you’ll notice a list of referral websites. This is the legend for the colors of the clicks. You can segment the clicks of visitors from Facebook from those from PPC. Then, you can examine their patterns of clicking separately. More times than not, they’ll be similar. But, if they do differ, it might be indicative of a need to create a separate landing page to cater to each audience.

          There you have it. CrazyEgg puts visitor behavior on a canvas for you to examine and use to improve your page. If you’re taking the time to write content and design the layout of a page, wouldn’t you want to make sure people are taking the actions you want them to? Now, you see why I like this tool so much.

          What landing page optimization tools do you use to visualize areas for improvement?

          Let us solve your analytics problem.