[Music]
Lea Alcantara: You are listening to the unofficial ExpressionEngine Podcast episode 99! Today we’re talking to Carl Crawley about advertising stats and measurement. I’m your host, Lea Alcantara, and I’m joined by my fab co-host…
Emily Lewis: Emily Lewis.
Lea Alcantara: This episode is sponsored by Converge Florida. ConvergeFL takes place…
[Music]
Lea Alcantara: You are listening to the unofficial ExpressionEngine Podcast episode 99! Today we’re talking to Carl Crawley about advertising stats and measurement. I’m your host, Lea Alcantara, and I’m joined by my fab co-host…
Emily Lewis: Emily Lewis.
Lea Alcantara: This episode is sponsored by Converge Florida. ConvergeFL takes place in beautiful Jacksonville, Florida at the historic Florida Theatre. Enjoy three days of intense web design and development instruction as well as business and marketing insight and inspiration. Sessions include the Build Responsibly Workshop, Arduino, robot hacking and even home brewing. There’s plenty of opportunities to mingle with speakers and other attendees. Check out convergefl.com.
Emily Lewis: The ExpressionEngine Podcast would also like to thank Pixel & Tonic for being our major sponsor of the year.
Lea Alcantara: Hey Em, thought I’d switch things up today and ask how you are doing first.
Emily Lewis: Well, as you know, it’s been really busy.
Lea Alcantara: [Agrees]
Emily Lewis: For our listeners who haven’t heard, Lea and I are now formally working together outside of this podcast.
Lea Alcantara: Whohoo!
Emily Lewis: [Laughs] I hired Lea as my company’s Lead Designer and she started working with me earlier this month. It’s been a lot of work for both of us to make this happen, but so far, for me, it’s been really awesome, especially now that 99% of all the human resources, payroll, and tax stuff is done. So how has it been for you, Lea?
Lea Alcantara: I think you were kind of understating how much work it actually was. [Laughs]
Emily Lewis: [Laughs]
Lea Alcantara: And so it’s been a whirlwind, but a good one. So there were a few headaches getting to this point, but I definitely think it was definitely worth it. There’s so much to really talk about what we went through, but I think instead of just complaining, Emily and I are planning on blogging about the process in the future, so exciting times ahead.
Emily Lewis: There are so many things I’m excited about, but first and foremost, I love collaborating together. I feel more energized and creative than I have in a while, and I feel like our formal working relationship has opened us both up to a lot of changes including some changes that we’re going to be announcing for the podcast in a few weeks.
Lea Alcantara: Well, a hundred episodes is definitely a milestone we’re both really proud of.
Emily Lewis: Yes.
Lea Alcantara: But it does make us want to shake things up a little bit.
Emily Lewis: Yeah.
Lea Alcantara: So we go full circle and have Ryan Irelan as our guest on episode 100, so stay tuned for that and exciting announcements in the coming weeks.
Emily Lewis: Right. Well, since it isn’t The Emily and Lea Show, let’s switch to some EE news. [Laughs]
Lea Alcantara: So regarding some EE news, more huge news, I guess like every summer, EllisLab does like major news announcements. EllisLab and CodeIgniter are kind of parting ways officially.
Emily Lewis: Yeah. I didn’t really know what to think about this. I don’t understand what it means really.
Lea Alcantara: Well, for those that aren’t really that familiar, CodeIgniter is the base of the ExpressionEngine install. It wasn’t always that way in EE 1, it was its own code base, I guess, and then since EllisLab created a PHP framework called CodeIgniter, it made sense for them to bundle or refactor ExpressionEngine into CodeIgniter, and I think that was part of the reason why it took so long for EE 2 to relaunch.
Emily Lewis: [Agrees]
Lea Alcantara: And now at this point, EllisLab is seeking a new owner for CodeIgniter, and I think that’s brought a lot of concern and confusion in the community at this point in time. As you mentioned, it’s like what does that mean for, at least for us, ExpressionEngine considering that’s what it’s based off of.
Emily Lewis: [Agrees]
Lea Alcantara: And so I’ve seen their response. I mean, I sort of agree with that. I’m not a developer, but I see how CodeIgniter, it’s an open source PHP framework, but it had its own owner, but they weren’t able to really focus a lot of their time on enhancing the PHP framework, and it seems like they want to focus more of their time on developing ExpressionEngine. They are trying to say that CodeIgniter is not going to go away. At least, based on the comments, they’re not going to re-code ExpressionEngine on a totally different code base, so I think it’s still going to be based off of CodeIgniter. It’s just that they don’t want to actively manage CodeIgniter anymore because they’re not able to put the proper resources toward it anymore.
Emily Lewis: Like you, I’m not a developer, so I’m not clear exactly on what that means. If ExpressionEngine is going to continue to be based in CodeIgniter, but then another company assumes ownership of it, my thought, and maybe it’s a naive thought because I’m not a developer and I don’t really understand the nuances here. But if that new owner decides to take CodeIgniter in a direction that doesn’t support ExpressionEngine or, maybe that’s not the right way of putting it, but somehow it doesn’t allow ExpressionEngine to grow. That’s what I don’t understand, so EllisLab no longer has, I guess, say over the direction it takes in, so does that mean that ExpressionEngine is at the whim of where CodeIgniter goes, or will ExpressionEngine… yeah, I just don’t understand it.
Lea Alcantara: Yeah, yeah.
Emily Lewis: [Laughs]
Lea Alcantara: Yeah, well, especially because they are so closely tied together, and I think that confusion is definitely evident in all the concerned comments on there. But those that are in the CodeIgniter community don’t seem to be that surprised because it has stagnated a bit, I guess.
Emily Lewis: [Agrees]
Lea Alcantara: But at the same time I’m sure whoever they decide to pass stuff along, I’m sure there are some legal mumbo jumbo that allows them to protect ExpressionEngine as it stands.
Emily Lewis: Interesting development … This seems like a very big decision on their part, and I’m really curious what it means.
Lea Alcantara: Absolutely.
Emily Lewis: Like it can’t be just in a vacuum, it’s got to be part of something bigger that EllisLab is planning or working on or something so I’m really curious to see. If it means a better ExpressionEngine, I’ve got no complaints.
Lea Alcantara: Yeah, absolutely, and that’s what they seem to be reiterating is that if they don’t have to babysit CodeIgniter anymore, then they can put more of their resources towards ExpressionEngine. That just means good things.
Emily Lewis: [Agrees] Well, that’s good. Well, and more good things, I guess, for EllisLab suggesting at least that they’re continuing to grow is that they’re hiring. They’re hiring a customer advocate which sounds to me like someone who’s going to be leading in the support.
Lea Alcantara: [Agrees]
Emily Lewis: So that’s good. If you think you’re good fit or that, we’ll have the job posting in our show notes and you should definitely apply.
Lea Alcantara: Yeah, absolutely.
Emily Lewis: All right, great. Well, let’s go ahead and get to today’s episode. We’re going to be talking about advertising statistics and measurement with Carl Crawley. Carl is the owner of Made by Hippo, a technology and development agency specializing in ExpressionEngine. Welcome to the show, Carl. Thank you for joining us!
Carl Crawley: Well, thank you both for having me.
Lea Alcantara: So Carl, can you tell our listeners a little bit more about yourself?
Carl Crawley: Yeah, no problem. As you said, I own Made by Hippo based on a little island off the mainland UK. We’ve been going for nearly four years. I’ve been using ExpressionEngine since the end of 2006 and we predominantly do, 99% of our work is back-end programming and development, so it’s custom add-ons, commissions. We do site builds, but we do mainly site builds when we get delivered prebuilt HTML and CSS.
Emily Lewis: [Agrees]
Lea Alcantara: [Agrees]
Carl Crawley: Although I have one guy that does work for me who does front-end HTML and CSS. I try not to get too involved in that because of cross-browser issues and stuff, they are just time drains.
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Carl Crawley: We try not to get involved in that beyond just tweaking. But focusing on, if you think about kind of the development cycle as, front-end and right away through the back-end. We get involved with jQuery backwards, so jQuery, ExpressionEngine, PHP, CodeIgniter, MySQL. We don’t do anything at the front. But most of the work we do is kind of custom work, commissions. We do a lot of work with other add-on developers. Mostly we’ve worked with BrilliantRetail since end of 2010. We’re UK development partners with them. I’ve worked with Brandon [Kelly] over the years doing support and development with him on some of the Pixel & Tonic stuff.
Lea Alcantara: [Agrees]
Carl Crawley: And in the last couple of months, we’ve started working with Travis [Schmeisser] on Structure, so we’re doing a lot of work with Travis on Structure with bug fixes and also development of new functionality as well. So I’m not going to say too much about what, but yeah, it’s exciting stuff.
Emily Lewis: Now, before we actually talk about ads and statistics, I have to ask you about your Twitter profile. You’re genuine ninja?
Carl Crawley: [Laughs]
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Carl Crawley: Yes, it’s a bit of an exaggeration, but the principle is there. For up until about two years ago, I studied and taught MMA, mixed martial arts.
Lea Alcantara: Oh, that’s amazing.
Carl Crawley: I’ve been doing it for about eight years, competing locally, district level and national level. And yeah, I’ve worked my way up and I’m a 2nd Dan Black Belt, and I stopped at 2nd Dan Black Belt and haven’t pursued it anymore because I couldn’t commit to the time in training and also with setting up the business as well. They just conflicted with one another, so unfortunately, something had to give and feeding my children is more important than beating people up.
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Carl Crawley: So yes, for that side, I did. Yeah, that stopped. But yeah, I put it on originally as a tongue-in-cheek comment because I used to find it quite funny when people used to say they were development ninjas or ExpressionEngine ninjas.
Emily Lewis: [Laughs]
Carl Crawley: Or PHP ninjas, and I just thought, “You know, actually, I probably got more of a right to call myself a ninja than anyone else.”
Emily Lewis: [Laughs]
Lea Alcantara: [Laughs] That’s awesome.
Carl Crawley: So I put it on there as a tongue in cheek comment, and I had completely forgotten it was on there actually.
Timestamp: 00:09:58
Emily Lewis: [Laughs] Do you still practice martial arts? I know in our email correspondence you mentioned you had a broken wrist. Is that…
Carl Crawley: Yeah, I do have a broken wrist. I came out of the plaster cast this morning and I now have a splint on my arm. But no, I actually broke it playing in non-contact sport.
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Carl Crawley: It was one of the most frustrating and furious things is that I did nearly eight years of MMA and have never broken a bone in my body. Decided I’d start playing Six-A-Side soccer …
Emily Lewis: [Laughs]
Lea Alcantara: [Laughs]
Carl Crawley: And in the second game I fell over the football and broke my wrist.
Lea Alcantara: Oh no.
Carl Crawley: Oh yeah.
Lea Alcantara: Isn’t that how it goes?
Carl Crawley: Exactly, and it makes it even worse is the fact that there was nobody within ten feet of me when I fell.
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Carl Crawley: I literally just tripped over the soccer ball.
Lea Alcantara: Oh, my goodness.
Carl Crawley: And put my hand out to stop myself from head butt in the floor and I just broke my wrist.
Lea Alcantara: Oh, dear.
Emily Lewis: Oh, my gosh.
Carl Crawley: Yeah.
Emily Lewis: But it sounds like it’s healing well if you had the cast taken off today?
Carl Crawley: Yeah, yeah. It’s healing fine. It’s still got a hairline crack because I’ve actually broken the bone off.
Lea Alcantara: Oh, dear.
Carl Crawley: But half of the bone has already fused back and is healing well. It’s just the rest of it is still a little bit tender. So the consultant agreed to put a splint on to allow me to work a bit better because the cast was so bulky. It was virtually impossible to type.
Lea Alcantara: Yeah, I was about to say.
Carl Crawley: Yeah, so at least I can now type, but I’ve been told I have to keep this on there for another four weeks.
Lea Alcantara: Oh, dear.
Carl Crawley: Yeah.
Lea Alcantara: So was it your main hand, or was it your like supporting…
Carl Crawley: No. It’s my right hand.
Lea Alcantara: Okay, yeah.
Carl Crawley: I’m left-handed.
Lea Alcantara: Okay.
Carl Crawley: So it’s not too bad, but when you consider that I’ve been typing and programming since I was nine, I can kind of touch type properly, so the idea of not being able to press the right shift key and press any key to the left of the J button is infuriating.
Lea Alcantara: Oh, no.
Carl Crawley: Because that’s so what I’m used to doing, so it’s slowed me down immensely really, and it was highly frustrating.
Emily Lewis: I bet you it gave you a perspective on people who have like accessibility issues with keyboards. [Laughs]
Carl Crawley: Yeah, absolutely. It was. It made me really think about kind of how we kind of just navigate around the computers because I’m so used to things like alt-tab and key shortcuts and stuff.
Emily Lewis: [Agrees]
Carl Crawley: Some of these things were just impossible to do with a hand in the cast, and yeah, it’s been very frustrating. The only positive side of having a broken wrist is the fact that I haven’t been able to change my youngest baby’s nappys for 4-1/2 weeks.
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Lea Alcantara: Nice. Good excuse.
Carl Crawley: So much to my wife’s delight, but yeah, I’ve not been able to do that. [Laughs]
Emily Lewis: All right, well, let’s go ahead and talk about ad statistics and measurement. One of the reason we have you on is because you have developed an ExpressionEngine add-on for advertising, which we will get into a second. But I wanted to first ask, do you have a feeling about ad statistics being … are they reliable or are they kind of some sort of black magic?
Carl Crawley: There is a number of different ways you can look at it, and I always kind of whenever I talk to somebody about kind of searching and advertising and banners and stuff like that is you can always spin the statistics to make them look better than they are, and it’s just how you present the data. There’s somebody who sent me a link many years ago that was something along the lines of 90% of all statistics are made up.
Lea Alcantara: Yeah, yeah.
Emily Lewis: [Laughs]
Carl Crawley: It’s a made-up figure. Just simply it’s how you spin the figures, and we quite often get into, and I’m guilty of as well, you get into looking at a figure, and if a figure is low or conversely if a figure is extremely high, you can either take that as a good or a bad thing. You have to kind of look at bigger picture to understand what the figure means because it’s so easy to just take that figure and just completely kind of isolate on that one number, and not understand the consequence.
Now, one of the biggest things that I’ve found suddenly, and actually, it was recently, a few months ago, is I got contacted by a client who had a site who was complaining because they had something like a 73% bounce rate on Google. So 73% of their audience were hitting one page and then leaving the website, and they said that they’d read all this information that anything above 50% is bad and that they should change stuff and they’ve been quoted thousands and thousands of pounds to change it when actually, what we actually figured out, we fundamentally figured out is that actually their site was so well executed that users were able to find the information they needed on the first page they hit.
Lea Alcantara: [Agrees]
Emily Lewis: [Agrees]
Carl Crawley: So actually, that high even figure was a good thing because that high figure meant that their audience were accessing the first page and it was the information that they required and didn’t need to continue on through the site because they got what they needed.
Lea Alcantara: [Agrees]
Carl Crawley: So we know it’s kind of changing those expectations of the client and understanding it before they start spending money unnecessarily.
Lea Alcantara: So I’m curious because you mentioned Google Analytics. The add-on that you did develop was called AdMan. Why did you develop that instead of just relying on, say, Google Analytics?
Carl Crawley: It was originally for a client build.
Lea Alcantara: [Agrees]
Carl Crawley: We had a requirement, it was an e-commerce website, and part of the e-commerce site was they wanted to be able to sell banner advertising throughout the site. And it was a portal website with a niche market where they had an encapsulated audience and they just wanted to kind of maximize on that by selling banner ads, and originally we had looked at the other systems right there. We looked at the Openads and various other platforms, and they just seemed very, very bloated.
Lea Alcantara: [Agrees]
Carl Crawley: They have lots and lots of functionality that we would never use. They integrated into all these wonderful systems, but fundamentally the more and more we integrate with everything, the more and more we just felt the core site then became bloated. So we set about kind of sitting down looking at the requirements. And I think it took me about three or four days to roll out an alpha version 1 of the banner ad system just to kind of give them the requirements they wanted, and then the more I kind of started using it and I started looking around and started speaking to a few people, the more and more people said, “Well, actually, we could sell advertising on our website.” But the focus was a revenue stream.
Obviously, with Google Ads, you can have Google Ads and you get a revenue stream, but you have no real control about the advertising and what goes on there because it’s contextual, and also if you’re looking at specific page, you may want to sell advertising to a company that offer the same or a sister service to what you’re trying to sell on the page. So you have related services, and you can charge a lot more and you then get the revenue yourself rather than it going through a Google system and you get paid once every six months when you hit the threshold that Google releases funds to you.
So the idea was just to abstract it from any of these kind of third-party systems and just say, “Right, okay, here is the ability to put a banner ad or a text ad or a flash ad onto a page, track the impressions, track the clicks and then how you charge for it is down to you.”
Emily Lewis: [Agrees]
Carl Crawley: I didn’t want to kind of preempt and preconceive ideas of how it should work really.
Emily Lewis: So you mentioned you spent about three days getting the core stuff developed to enable banner advertising. Outside of the EE development, where did you look? What kind of people did you talk to? What kind of expertise did you seek to figure out the right level of feature and functionality that didn’t cross that line into bloat?
Carl Crawley: I mean, I’ve had some experience in the past with Openads which is the open source PHP one. I’ve used BuySellAds and BuyAds online which are subscription-based services where you just put a little bit of JavaScript in your page. And so I kind of looked to all of them and looked at all of the things that they do, and then kind of put them into must-have column versus a would-be-nice-to-have versus bloat-only-if-it’s-really-necessary column. And I kind of have moved things around then and decided kind of what are the fundamentals really. Actually, believe it or not, since the original commercial release of AdMan, we’ve actually removed more functionality than we’ve added in later versions.
Emily Lewis: Huh!
Carl Crawley: Because actually what we were finding is that certain bits of functionality, which I thought would be necessary, have proved to just confuse people and slow things down. So we’ve kind of removed stuff and kind of have got back to basically a core data collection functionality. So banner ad, a click, an impression, and aggregating that content in the control panel for administrators then to look at. And it’s proven to be quite popular for that now that we’ve removed all that additional stuff.
Lea Alcantara: So can you explain to our listeners exactly what the impressions are so we all understand what clicks mean? What defines an impression?
Timestamp: 00:19:42
Carl Crawley: So at its fundamental level, an impression is the number of times that a page displays the advert. Now, there are varying kind of levels of that and they are varied, and actually there are some quite interesting issues that arise from that. Some are outstanding bugs in the system that will be released as we release later versions, but essentially, the page being loaded or being requested from the web server constitutes an impression for that one user in one page.
Emily Lewis: Is it kind of like a page view?
Carl Crawley: It is. That’s fundamentally what it is. Yeah, it’s a page view because if you remember back in the days where everyone was talking about hits.
Lea Alcantara: Yeah.
Emily Lewis: [Agrees]
Carl Crawley: And a hit is basically a single element of a page, so if you have a page with ten graphics, that would be eleven hits, because that would be the HTML page and ten images constituting eleven hits. But a page impression would be one. It’s basically just a page impression, so it’s just a page view, yeah.
Emily Lewis: And when it comes to the click-through rates, what is important about that? Is it just the fact that a user has clicked on an ad or are your clients and users of AdMan interested in the conversion from that click?
Carl Crawley: It depends. We’ve gotten multiple clients that track different things because as I said, AdMan doesn’t have any preconceived ideas of what it’s used for. We’ve got clients that are using it for banner ads to send them off to associated websites and/or partners and simply all they’re doing is they’re tracking impressions and clicks to be able to go to that advertiser and say, “Well, I sent a 100,000 people to your site last month.”
Then you’ve got the other side of it whereby actually we have clients that are using it to promote other parts of the internal site, so they may want to track and get referrals to a particular blog post or an e-commerce product, and we have clients that use it for that. So rather than send the link off to a third-party site, they send it to an internal link on the site, and they use that then to track the click-through and the user navigation and the path that the user takes through the site.
So it really depends on what you want to gain from the advertising really. You can gain so many different things, but fundamentally, either you’re sending the link to another site which means that all you are interested in is how many people you’ve shown the banner to and how many people have clicked the link. But then similarly that you may be able to say, “Well, right, okay. We are going to track links to a blog post and we’ve got a 100,000 people hit that blog post, but our banner statistics show us that 80,000 clicked on that banner that we only have on the front page redirecting them into it.”
So then you start getting some good data to be able to say, “Well, right, maybe the blog section of the site is buried too far. It’s not appearing naturally so we need to promote it a bit more.” And that’s where it comes into its own because it just doesn’t have any preconceived ideas of how you should it. It fundamentally just goes down to how inventive the developer is at the end of the day.
Emily Lewis: So when it comes to something like that, the one you were describing where their banner ad is going to a call-to-action on the site internally, do you have clients who utilize it in conjunction with something like a Google campaign or Google Analytics so that they can follow the click past the ad?
Carl Crawley: Absolutely, yeah.
Emily Lewis: If that makes sense?
Carl Crawley: Yeah, it does. Yeah, absolutely. So Google does click tracking which is built into some of the Google Analytics stuff where you can actually define a click track.
So I know at least one client who did it because I helped him work it out whereby when the ad is clicked on the page as well as tracking the click in AdMan, then it triggers a click in Google and then it allows for you to be able to do user funneling so you’ll be able to then follow that user from the point they clicked that then to kind of the next pages within the site, and build up a user path and a user journey to be able to say, “Well, right, okay. From the point in which they clicked the ad, this is the path that they took.” And then you can look and say, “Well, they took six clicks. We need to reduce that and put a new banner ad in that jumps a couple of steps to make things easier.”
But beauty is of using it with AdMan is obviously that you get the stats this instant so actually, if you’re that well inclined, you can sit on the dashboard of AdMan and just keep hitting refresh and watch the impressions and clicks go up as they’re going up.
Lea Alcantara: [Laughs]
Carl Crawley: You don’t have to wait for Google to update its stats.
Lea Alcantara: Sure. I’m always curious though because ad statistics seems to be like this huge tunnel that you can keep going on and on and on and on to just go deeper and deeper into the tunnel to just see how far clicks go and stuff like that. I’m curious over how long a client should track specific links. Is there a rate of diminishing returns for ads?
Carl Crawley: The thing is the amount of clicks that people click on for ads is ridiculously low. I think it’s something like for a normal banner ad in the header of the page, you’re looking at a 0.1% click through, and that is pretty standard across the board.
Emily Lewis: [Agrees]
Carl Crawley: But if you actually take that down into a 468 x 60 banner which is the standard banner within content, that rate goes down to 0.5% I think it is. It’s really, really low figures, and I’ve looked at some of the media sources, and again, you can take these figures with a pinch of salt because all statistics could be made up. But people are saying that less than 10% of internet users actually click banner ads. Even some of them are robots that randomly, they just click as they go through.
Lea Alcantara: Sure.
Carl Crawley: And compared to five years ago, let’s say, the average person, I think they’re served about 2,000 ads a month on average because you just hit websites and you get ads.
Lea Alcantara: Yeah, sure.
Carl Crawley: You think that every time that you go to Google, you get those AdSense, the one inside the top. They’re ads. They’re paid-for banner ads, and could you remember ten of them?
Emily Lewis: Right.
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Carl Crawley: But actually, the key to the advertising is that if you’re not doing, with the exception of those really bad pop-up adverts that take over the whole page when they load… If your ad complements the content of the page like having a call-to-action or you are selling storage company facilities and the ad is for a removals company which has an associated interest, they’re much more likely to click on them, and that’s the key with advertising, and certainly with banner advertising, the number of display ads rather than people buying search ads using Google AdSense is on the increase.
So people are actually more inclined to do a banner ad on a page with related information than they are to do Google Search ad. A couple of years ago, I think the figures were something like 45% were spending money on Google, and I think 30% were spending it with the likes BuySellAds or Openads and stuff like that, and that is actually now changing. That is increasing, so more people are looking to do banner ads than Google. I think that is just because you get a lot more of focused advertising opportunity if you were to advertise on a related site rather than actually doing something on Google.
What we do is a great example. I mean, I spend over a few months, I think I spend about $300 to $400 on Google AdWords for ExpressionEngine and I got thousands of clicks and I didn’t get one lead from it. However, advertising on something like Devot:ee, I’ll get three or four leads from it, and it’s of comparable cost. So I think the trend is starting to move more into the idea of having these targeted banner ads than going and hoping that somebody clicks on your ad in Google.
Emily Lewis: Now, AdMan, we actually bought and installed AdMan for the EE Podcast site and use it for our sponsor advertising, and it is what you say… We put ads in context of a specific episode or page. Was that idea what you had in mind when you tried to keep it, for lack of a better word, barebones, not having too much functionality, but just allowing that fundamental ability to decide where an ad appears rather than letting it be random like Google AdWords?
Carl Crawley: Yeah, that’s exactly it. F rom experience of working with other add-ons in the industry where they try and preconceive ideas of how people should use the add-on and getting into such difficulty when somebody tries to do something out-of-the-box, I wanted to make sure that when I built it, I didn’t make any assumptions. We used it specifically for the requirements that we had at that time, which were to have maybe a half a dozen groups and those groups would be defined in advance, but they may change in the future, but I’ve had people that have come to me now and have used it based on the segment URLs.
Timestamp: 00:30:22
Emily Lewis: Oh.
Carl Crawley: So that’s something that we’ve done more on, and actually, although I haven’t released it, I do have it, and anyone wants it, they are more welcome to have a copy if they’ve got an AdMan license. It actually has an AdMan fieldtype which pulls in the channel groups, so the idea here is you can create a channel entry and you can say what banner group do you want to show for this channel entry. And then in your AdMan code you basically then do your exp:adman:show group= and then the custom fieldtype, and the custom fieldtype then will return the ads from the group that you defined.
So I kind of wanted to make a point of not preconceiving and making any assumptions on how this system should be used. And actually, it’s paid dividends to me because the support for it, because of that, is pretty negligible. You do get a lot, but mostly from people that haven’t read the manual or read the instructions but nine times out of ten, it’s people that just want to do it out of the box, and they just assumed that because I haven’t built it to do something, it can’t do it, and they are usually quite happy when I explain that they can.
Emily Lewis: Now, in terms of that out-of-the-box, what’s been maybe one of the most interesting uses you’ve seen in one of your clients apply AdMan for that you maybe didn’t expect when you first built it?
Carl Crawley: I think I don’t know of unexpected uses. I mean, pretty much everyone is using it for either selling banner ads or redirecting traffic within the site. I haven’t anticipated, I think one of the earlier versions and we had conversations about this, I hadn’t expected it to be so popular on such high traffic websites, and obviously, you and I have worked on the EE Podcast site and there has been two or three others that have used it on sites where they get an upwards of 250,000 page impressions, and some people have got, and I know particularly one client has got the best part of about 30 to 40 groups with different adverts in each group, and it’s huge.
I became a victim of my own success because now it caused huge problems because the data just got totally out of hand because I hadn’t anticipated that it would ever scale and get that big. So there was a lot of reworking on that, and we released some updates since then, but really shocked me. That really shocked me that people were using it and using it on pretty busy sites to control their advertising.
Emily Lewis: What other add-ons have you used for advertising or services, not even EE-related? Any other, and you mentioned in the beginning, you said Openads and something else, but have you seen…
Carl Crawley: Yeah, Openads, I think it used to be OpenX. They changed it to Openads. That’s a PHP, but I think it used to be many years ago, if I remember rightly, it was a self-hosted system, so it’s open source, you download it and installed it on your machine and it works standalone. Then they moved to a subscription model whereby you just got a snippet of code and use their system and that was all good and well, but then it just started and become kind of quite bloated, and in my opinion, it’s very bloated and it just slowed down at that time.
The others were BuySellAds and BuyAds. I think they are different companies with very similar names, and they are third-party subscription systems. I think BuyAds is the one that is used on Devot:ee to do all his advertising, and that system is you log in to a centralized system and you upload your banner ad and it gets approved and it tracks all of the impressions and the clicks and you just a snippet of code on your site.
Those are the main ones I’ve used. In the past I may have done something where not particularly around banner ads, but certainly if I wanted banner-style call-to-actions, I will have normally just created a channel in ExpressionEngine with the fields that I need and then using EE’s built-in entry counter to be able to return the number of impressions and then just simply rely on Google to track the clicks.
But the problem with that is the disparity between the two data and having the impressions immediately and having to wait for six hours to get stats from Google and clients were just getting confused of what they were looking at in Google and stuff like that. So I kind of find that to be just problematic really, so when I finally got a requirement to do something with banner advertising and there was a sufficient budget there, it made sense to build something that I could potentially then resell.
Lea Alcantara: So before we wrap up, in addition to AdMan, you created obviously several other add-ons through Made by Hippo. Do you plan to continue EE add-on development? And I’m also curious, as an add-on developer, do you have any concerns about EllisLab’s recent post about competition, ethics and add-ons?
Carl Crawley: Okay, so… [Laughs]
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Carl Crawley: So yes to the first question, I do intend to continue with add-ons. I have a white board in my office full of add-on ideas, and I have about eight or nine Git repos that have half-built commercial add-ons that I just don’t have the time to finish. To answer your second question, I’ve taken a serious look at what add-ons that I will do in the future. Certainly, I commented when it first came out, I mean, I’m not going to get into the ethics and the morality of the post and stuff.
Lea Alcantara: [Agrees]
Carl Crawley: But at the end of the day, EllisLab is a business. They have to make business decisions for them.
Lea Alcantara: [Agrees]
Carl Crawley: I would never badmouth them because EllisLab fundamentally pay for my mortgage and put food on my table at the end of the day.
Emily Lewis: [Agrees]
Lea Alcantara: Sure.
Emily Lewis: And I’m thankful that they’ve got the platform and they do it, but what poses an interesting thing for me is that my two biggest selling commercial add-ons obviously AdMan and LibrarEE, and LibrarEE is the only one that I kind of I’m at a point where I’m not sure I want to devote too much time in developing that add-on from this point onwards purely because, I mean, obviously supporting it in terms of bug fixes and stability of the add-on, but fundamentally, LibrarEE just basically enables snippets, global variables and specialty templates to be saved as files so they can be pulled into your version control system.
Emily Lewis: [Agrees]
Carl Crawley: It does a few other things as well, but that, I could see at some point in the future being part of core functionalities.
Emily Lewis: [Agrees]
Carl Crawley: Because that actually is a fundamental requirement I think of ExpressionEngine. I think it’s a big letdown on the whole system. We’ve got templates as files. We really should have the other things as well.
Emily Lewis: [Agrees]
Lea Alcantara: Sure.
Carl Crawley: And I have no doubt that Derek [Jones] and the team have no interest in building a banner ad fieldtype for ExpressionEngine.
Lea Alcantara: [Laughs] Sure.
Carl Crawley: But I could see at some point down the road that he may want to start doing snippets and global variables as files to bring it into line with the whole kind of developing templates as files. So that for me and also the various other add-ons that I’ve got on my white board, I have not got little asterisks next to them to make me kind of think twice, “Do I really want to put the time into developing that when 2.8 and 2.9 version of ExpressionEngine may have that functionality as part of core, thereby completely negating any profit in the system?”
Lea Alcantara: Sure.
Carl Crawley: So yeah, it has made me think twice. I have no intention of stopping add-on development, but I’m now just going to be a bit smarter with the add-on development.
Lea Alcantara: [Agrees]
Carl Crawley: And I think the idea of having the new fieldtypes that they are working on at the moment is great. I think that for me, fundamentally, it reduces the total cost of ownership of an ExpressionEngine build, which is only a good thing for the business. But as an add-on developer, I think I do need to be smart with the add-ons and now develop specific add-ons that do lots of things like e-commerce and like we have with Structure and things like that rather than things that extend core functionality.
Emily Lewis: Well, it sounds like outside of anything else from the post, it allowed you as an add-on developer and perhaps other developers to be able to make more educated decisions about where you put your time and energy.
Carl Crawley: Absolutely, absolutely. I always said, I mean, I remember having a conversation with Leslie Camacho a couple of years ago at one of the EE meets that he was there, and we spoke about it. It was before LibrarEE was built actually and originally the incarnation of LibrarEE was called Snippet Files, which just did snippets and global variables, and I had a conversation with him about it and said, “You know, look, this is something that I want to build, but this should really should be in core. You should really have this to pull it in line with everything else.” And he said at that time, “Yeah, you’re probably right. It’s not on our radar at the moment. We have more important things that we need to develop and fix and update and stabilize.”
Timestamp: 00:40:09
Emily Lewis: [Agrees]
Carl Crawley: There may be a case for some things too for me to release that extend core, but I think actually there are more add-ons out there now that extend core functionality that I think at some point are going to lose their revenue stream because I think that they are going to start implementing more of a core functionality.
Emily Lewis: [Agrees]
Carl Crawley: EllisLab have made no secret of the fact that they are trying to push this principle of enterprise.
Emily Lewis: [Agrees]
Carl Crawley: This idea of having an enterprise platform, but until EllisLab gets to a point whereby the channel entry’s API is more stable and they actually use it because a lot of the underlying ExpressionEngine code doesn’t even use their own API.
Lea Alcantara: [Agrees]
Carl Crawley: Until they do that, until they have a decent membership management system, which is obviously going to encroach on the likes of Profile Edit and Zoo Visitor and stuff like that and things like that, I think they’re going to have to have this shift to get this enterprise market. So I do think that I’m quite excited about it. I think it’s good that they are being a lot more communicative. The way that it’s being done is questionable. It’s not my business.
Emily Lewis: [Agrees]
Lea Alcantara: Sure.
Carl Crawley: It’s not for me to decide. You can’t complain that somebody is not communicating and then complain when they communicate.
Emily Lewis: Right, right.
Lea Alcantara: [Laughs] Yeah.
Carl Crawley: [Laughs] So fundamentally, the message is that they are pushing ahead, that it’s a new functionality, which means that the development team at EllisLab are getting their hands dirty. They’re getting knee deep in code, which is good. That’s a good thing, and regardless of what’s coming out of their doors at the moment, the fact that something is coming out of the doors is a good thing.
Emily Lewis: Right.
Lea Alcantara: Yeah, absolutely.
Carl Crawley: So yeah, I think it’s exciting and I look forward to what happens in the coming months.
Lea Alcantara: For sure, for sure. Well, Carl, thank you so much for joining us today!
Carl Crawley: No worries at all. Thank you for asking me.
Emily Lewis: In case our listeners want to follow up with you, where they can find you online?
Carl Crawley: So if you just want my daily ramblings…
Lea Alcantara: [Laughs]
Emily Lewis: [Laughs]
Carl Crawley: I’m on Twitter @cwcrawley. If you just want specific business ExpressionEngine use, I’m on Twitter @madebyhippo, or they can just ping me an email at [email protected] and yeah, usually I pretty much live on Twitter these days so I’m always about for philosophical conversations and ideas.
Lea Alcantara: Perfect.
Emily Lewis: Great. Thank you so much, Carl.
[Music]
Carl Crawley: No worries at all.
Lea Alcantara: Now, we’d like to thank our sponsors for this podcast, Converge Florida and Pixel & Tonic.
Emily Lewis: We also want to thank our partners, EngineHosting, Devot:ee and EE Insider. If you are interested in supporting the podcast through sponsorship, please visit ee-podcast.com/advertise. We have ad spots available in August.
Lea Alcantara: Also, thanks to our listeners for tuning in. If you want to know more about the podcast, make sure you follow us on Twitter @eepodcast or visit our website, ee-podcast.com.
Emily Lewis: Don’t forget to tune in to our next episode when Ryan Irelan is joining us for our 100th episode celebration!
Lea Alcantara: Whohoo! [Laughs]
Emily Lewis: [Laughs] We will be taking a look back at some of our favorite episodes and what we’ve each learned thanks to the podcast. We will also be announcing some big changes with EE Podcast so don’t miss this one.
Lea Alcantara: This is Lea Alcantara.
Emily Lewis: And Emily Lewis.
Lea Alcantara: Signing off for the unofficial ExpressionEngine Podcast. See you next time.
Emily Lewis: Cheers.
[Music stops]