JulianHartline.com Rotating Header Image


My experience with Funded Today (and why you should avoid them)

TL;DR: Funded Today left out critical information during the preliminary sales call, failed to communicate well throughout validation, and cost me $3500 and 10 days of my campaign for no substantial gain. Afterwards, hired CommandPartners for a lower price, a better return, and an extremely pleasant experience.

I found Funded Today a few days after my campaign launch while looking for a marketing company to help me give my my Kickstarter project a bit of a boost. Although it was well on track to making it’s goal, I was hoping to exceed my goal by a fair margin. I found this about.com article that covered not only a few good things to look for in a marketing company, but listed a few of the best ones.

I did a bit of research on my own, but most of the information about them I learned from one of their sales people, Lisa Juchau, on a preliminary call as they are known as being one of the more mysterious marketing agencies. Funded Today has a pretty aggressive pricing model. Projects must go through a “Validation” process in which Funded Today decides whether your project is worth their time. This process takes 1-7 days and costs $3500 and comes with no guarantees of any sort. They’ll run some ads, see if they can get traction, and then decide whether or not they want to work with you. By paying the $3500 to start validation, you agreed to paying them 35% of all of the pledges made from the day you start validation IF you pass validation and they accept you as a client.

As a bootstrapping solo entrepreneur, $3500 was a high price to pay for the risk of no returns. As such, it was of course of tantamount importance to me to figure out how likely it was that my campaign would pass Funded Today’s validation. I talked to Lisa at length about my campaign and similar campaigns that she had worked with. She was, of course, unable to provide any sort of guarantees which is very well reasonable as marketing is a far cry from an exact science. She admitted that only about 40% of projects that enter into validation pass, but did say that she was optimistic about my project based on the fact that it was a unique product and was priced well.

What she failed to mention, however, was something that I ended up only learning more than a week later after my project had failed validation and I began probing into the methods and the specifics for why my project may have failed. The key piece of information was that most of the projects that successfully pass Funded Today’s Validation process come into the process with a strong lookalike audience in the form of a similar that Funded Today has presided over or a list of emails from which they can generate this audience.

My project, Flickerstrip, had neither of these. We had collected only 100 emails prior to our Kickstarter launch and the most similar project that Funded Today had worked with was Luminoodle, an LED strip designed for camping and outdoor use. At first glance, you might agree that Luminoodle and Flickerstrip are similar products as they’re both strips of LEDs, however, that’s where the similarities end. Learning that Luminoodle was used as their primary lookalike audience was a bit of a shock for me. Luminoodle is being marketed as a lightstrip that you take camping or backpacking, a versatile lantern replacement that will primarily be used on the go powered by a USB battery.

Flickerstrip, on the other hand, is a decorative LED strip that is being marketed primarily as an smart home decoration that lets you create your own custom light show. Flickerstrip is a product that is generally plugged into the wall outlet and may adorn a holiday scene or decorate a Christmas tree. Most of Flickerstrip’s features require access to a Wi-Fi network, something that you rarely find on camping trips.

Now, I admit that the similarities are enough to warrant tossing a few advertisements up to see if you can grab the occasional crossover gadgeteer, but hearing that this project was being used as the primary lookalike audience and was thus one of the most important audiences for my project to validate was pretty upsetting. If I had known that this is the strategy that Funded Today was going to take in marketing Flickerstrip before I had signed over $3500, this story would have gone very differently.

I raised this issue with them and asked for a refund on the basis of being misled into engaging in a validation that was doomed to fail from the start. The resulting email conversation lasted for about a week and consisted primarily of ignoring the basis for my refund request and repeatedly citing their policy on the matter. In their defense, I did sign my life away on this and with it, likely all legal recourse.

For those curious, here’s a screen shot from my Google Analytics account showing the traffic and conversions driven by Funded Today:

Screen Shot 2016-06-21 at 5.55.06 PM

This story is not all bad, however. After my engagement with Funded Today concluded, I reached out to Roy at (CommandPartners)[http://commandpartners.com/] to see if he’d be willing to take on marketing for me.

Despite having failed the validation process with Funded Today, a fact that I was upfront about. CommandPartners was willing to take on Flickerstrip.

In contrast, here is the screen shot from Google Analytics showing the traffic and conversions from CommandPartners:


CommandPartners managed significantly higher conversion rates on their two best audiences than Funded Today. So much for Funded Today claiming that they’re the “Best Marketing company in the business” a line that they repeated multiple times during the sales call.

That said, the true value from CommandPartners (and Funded Today’s failure) is that working with CommandPartners was truly a wonderful experience. I had multiple long conversations on the phone with their advertising specialist who explained in detail the audiences that he was trying and which ones were working well and which ones weren’t. After the campaign ended, I had a conversation with another team that focuses on post-campaign marketing to discuss the possibility of hiring them for continued marketing for Flickerstrip. Ultimately, they recommended against it for my project, but once that was off the table, the guy I spoke to spent the next hour giving some very helpful suggestions on how he would market my product and even offered further assistance down the line either free or at a low consulting fee.

I hope that this post convinces someone to pass over Funded Today and instead take a look at CommandPartners.

Detailed Conversion Tracking with the Facebook Pixel on Shopify

Disclaimer: I just deployed this code to my Shopify site and it’ll be a few days before I can verify that it’s actually working.

A quick search for conversion tracking with Facebook and Shopify returns a couple of half-hearted setup instructions that involve dropping the pixel code into two places in your Shopify dashboard. While this is functional, you’ll be missing out on some very key events: AddToCart, InitiateCheckout, and Purchase.

Shopify has one such article here that does a thorough job of showing the two places that tracking behaior should be added. If you’re lost, follow the instructions here before continuing.

Following these instructions will get you to the point where your Facebook Pixel is being loaded in the head of your layout liquid file and in the checkout additional scripts section.


Now we need to enhance our conversion tracking with those events listed above. Let’s start with AddToCart. This gets called when the user, obviously, clicks the AddToCart button. The problem is, clicking add to cart ends up redirecting you to the /cart page without loading a page. Because of this, we need to track the event before they leave the page on which they clicked the AddToCart button.

Go into your Online Store > Themes dashboard, click the “…” button, and select “Edit HTML/CSS” to get to your theme editor.

Find the “product.liquid” file that’s responsible for rendering your product page. There should be a form there labeled “add-item-form” or something similar. Now, in order to track this, we’ll use the submit handler for this form. Because most (all?) Shopify themes use jQuery, we can use this snipped to send the tracking event to Facebook every time the AddToCart button is clicked. (add this at the bottom of product.liquid)

<script type="text/javascript">
$("#add-item-form").submit(function() {
    fbq('track', 'AddToCart');

Now, this is sufficient to pass the class, but since we’re overachievers (otherwise why would we be tracking with a Facebook Pixel in the first place?), we’re going to enhance this with the information about the product.

The AddToCart event supports these parameters: value, currency, content_name, content_type, content_ids. In Shopify’s liquid templates, we have access to these values through the “product” variable. We’ll update the code as follows to track product information every time a user adds something to the cart:

<script type="text/javascript">
$("#add-item-form").submit(function() {
    fbq('track', 'AddToCart',{
        value: {{ product.price_min | money_without_currency}},
        currency: '{{ shop.currency }}',
        content_name: '{{ product.title }}',
        content_type: 'product',
        content_ids: [$("#product-select").val()],

There is one significant compromise that I’m making in this example for simplicity. We’re using the product’s price_min value to assign a value to the AddToCart event. If you have variations with a dramatic difference in price, this may not be ideal for you. If you’re interested in this, shoot me an email and I’ll point you in the right direction.


Next up, InitiateCheckout. This event fires when the user clicks the “Checkout” button from the cart. The edit will look similar, but this time we’re editing the cart.liquid file (in the HTML/CSS editor again). In my template the form is being identified with “cartform”. Because there are two buttons on this page, we’re using the “click” handler instead of the submit handler. With the InitiateCheckout event, we have the following parameters: value, currency, content_name, content_category, content_ids, num_items. We’re going to ignore most of them for simplicity and just provide the value that we checked out with. This is the most important thing for determining the ROI on our advertisement.

<script type="text/javascript">
$("#checkout").click(function() {
    fbq('track', 'InitiateCheckout',{
        value: {{ cart.total_price | money_without_currency }},
        currency: '{{ shop.currency }}',
        num_items: {{ cart.items.size }}


Now for the event we’ve all been waiting for. The purchase event represents the last stage in our sales funnel. Because Shopify handles all of the actual payment handling, we don’t have access to the final page in our theme editor. Instead, we have to find the checkout snippet field in our dashboard.

Go into Settings > Checkout from the sidebar of your dashboard and scroll down to the field that’s labeled “Additional content and scripts”

You should already have your Facebook Pixel code there. If you don’t, grab it and paste it in. Now we’ll be adding some extra code after the line that looks like: fbq('track', "PageView");

We’ll be adding the Purchase event which accepts these parameters: value, currency, content_name, content_type, content_ids, num_items, order_id.

{% if first_time_accessed %}
    fbq('track', "Purchase",{
        value: {{ checkout.subtotal_price | money_without_currency }},
        currency: '{{ shop.currency }}'
{% endif %}

You could certainly get more fancy than this.. but this will give you the main thing that you’re interested in. The tracking information on the confirmed purchase. Now you can optimize your Facebook ads for actual sales numbers rather than just participation in the checkout process.


Reflowster Kickstarter

In the month since my last update, we’ve been working hard, but it hasn’t been on the hardware. Instead, we’ve been gathering all of the media together in order to launch our Kickstarter campaign for our reflow controller that has been dubbed the Reflowster.

Anyone who has spent any time on Kickstarter or backed any projects probably knows that the video is probably the most important part. Naturally, we’ve spent a good amount of time filming, refining, and editing our video.

Before getting started on the filming, we spend some time writing an outline for our video which relied heavily on a detailed discussion of what the market for Reflowster is. Ultimately we decided to target three somewhat distinct groups.

The first group, and perhaps the most obvious, are people who are already familiar with reflow soldering and perhaps even solder their own boards using this technique. For this group, we knew we needed to present an angle that would convince them to switch from their existing solution to Reflowster.

The next group are hobbyists that are familiar with designing a custom PCB and are used to hand-soldering components to these boards. In this case, we decided to try to show this group the reflow soldering process and emphasize how easy and beneficial reflow soldering is compared to hand-soldering through-hole parts.

The last group are the Arduino developers. These guys have never soldered their own PCB before, but are familiar with the Arduino boards and are comfortable with the programming aspect. These users might have existing breadboard projects or have maybe soldered directly to the Arduino before. For this group, we aimed to show that ultimately PCB design is not as difficult as it might seem and that in order to get the most out of your personal projects, it may be time to graduate from a pre-made Arduino board into a custom designed PCB.

Once we had a complete outline, we wrote the script. The script follows the outline exactly, but fleshes out each section into a readable voice over and a list of media that will get displayed for each scene.

The media in particular was an important part of this process as it served as a checklist for us on our “film day” where we got together with as much Reflowster paraphernalia as possible and took photos and video to effectively showcase our product.

The next step was to refine the script and film/record it. We decided to do this in a few waves because at this point we didn’t even have a draft of the video to judge for content, length, and fluidity. We filmed ourselves on a couch with a Galaxy S4 rubber banded to a tripod. Certainly not the most professional of video setups, and we later refilmed the video and voice-overed the audio. That said, this first take was an invaluable tool for gauging the flow of the video.

Assembling the video was a bit of an exercise in frustration as it was my first time in years using iMovie. Definitely do not recommend the program unless you have no other options, which is unfortunately likely to be the case. However, once the movie was mostly assembled, it immediately became which parts worked well, which parts needed refining, and where additional footage could be inserted.

A few more days of recording, re-recording, voice-overing, and some finishing touches and the video was in a place that we felt was good enough to release.

At the same time as the video work was being done, we also started working on the text and image content of the Kickstarter page itself. We basically figured that the text should reiterate what was said in the video but should go into more detail for those backers who are interested in the details. One of the biggest things I noticed here is that the pictures and charts are extremely useful in breaking up the text and providing an easier to digest experience.

We revised the content internally a few times, and have now entered a “preview” mode where we’re sending our Kickstarter out to a few people to solicit feedback. We plan on working on this feedback over the next week and then submitting the Kickstarter for approval at which point we expect to wait approximately another week for the hardware project approval.


Once we’re approved, we plan on launching in early April.

Through all of this we’ve also been refining our launch plans which now incorporate Twitter posts, a website, and out reach to friends, family, and key people involved with hobby electronics.

You can check out our website at http://www.reflowster.com or follow us on Twitter at @Reflowster

3D Bodies View

For previous boards, I’ve never had a need for it, but Altium provides a neat feature for modeling the 3D bodies of your components. While many hobby boards will have plenty of space and components with a very simple vertical presence, certain projects and components may be a little more complicated. In my case, a few components, would stand off from the board allowing space to place certain components underneath them. Often this would be enough space for a microcontroller or flat parts but not enough space for headers, connectors, and larger capacitors.

When designing a component in Altium, you have the option of specifying a number of “3D bodies” in addition to the pads and silk screens that you are probably already familiar with. These 3D bodies give you the ability to specify in a fairly simple way the vertical component of the part. While nowhere nearly as sophisticated as a 3D modeling program, this is quite sufficient for describing the basic shape of a component in 3D including overhangs, shaped extrusions, cylindrical buttons, and even spherical bodies.

The most basic benefit of using this feature is that you get access to a much more powerful component placement rule check that takes into consideration the 3D bodies, when available. The other benefit is that you can now get a better feeling for what your board looks like in 3D view.



Last, but certainly not least, this 3D PCB can be exported in a format that is compatible with 3D modeling software so that you can better model either multiple circuit boards or the PCB’s participation in an enclosure.

Day 8-9

After oversleeping, the day went pretty well, through the night I was able to stay awake fairly easily, probably due to the extra sleep although during the day there were a few times where I nodded off for a few seconds. One thing that I find particularly interesting about the entire thing is that my drowsiness level fluctuates drastically during the day but doesn’t seem to depend on anything in particular. Sometimes I’ll be drowsy right before a nap other times I’ll be drowsy right after a nap. Most commonly, however, I’m drowsy in the early morning. In some cases this drowsiness is extreme and threatens to induce an unscheduled nap, the rest of the time its just a general feeling.

Some other blogger mentioned that he took some extra naps during especially tired times and I’m tempted to try it. The main problem with being drowsy is that if I do fall asleep, I do so without having an alarm set. If I instead decided to take an extra nap, I might be able to avoid this.
Reaction Time:
9/11/10 12:31 pm 253.8 ms