Tumgik
#it was just so annoying because every resource i could access for this project often ONLY recommended cbt and
uncanny-tranny · 13 days
Text
I recently had to do a project in one of my psych classes, and man, I knew that CBT was used for every little thing, but seeing over and over, "do CBT! CBT is the best for every mental illness!" was so jarring. I'm absolutely biased because of my own experiences, but I just don't think it's as universal a treatment model as it's touted.
If you didn't benefit from CBT, it's not because you're lazy or didn't try hard enough or lacked intelligence or foresight into your own needs. Frankly, it's a therapy model that (I think) shouldn't be the only readily-accessible model and among the only therapy models covered by insurance. Some of us should not be treated in a CBT model and that's okay. It's not a sign of poor character or unreasonable demands, and if you don't think it's a model that works for you, then it's your right to express that!
#mental health#mental health advocacy#it was just so annoying because every resource i could access for this project often ONLY recommended cbt and#that just doesn't seem helpful for a good chunk of people#because i know i never benefitted from that model of therapy#obligatory: i am not against this therapy. me having a negative experience with it is not indicative that i believe it should be abolished'#if it works for you: KEEP DOING IT. cbt is not inherently harmful for MANY people and it's a good and valuable tool for many#but the overemphasis of cbt as the Only Therapy Model You Need sends this message that YOU failed...#...if you don't miraculously recover with that therapy model. it often feels like you'll Fail Recovery/Therapy and you're now a Bad Person#i've tried for over a decade to stick out cbt with a dozen therapists to boot. so i think i know a thing or two about my experiences with it#and overall its an unimpressive model (for me) as someone whos had a history with abuse and miscellaneous mental knickknacks rattling around#it's also frustrating because i genuinely like psych and i love learning about people#it's just. i'm tired of only being exposed to cbt (because i hate it honestly)#i feel similarly about cbt as i do with sigmund fucking frued#anyway i just want other insane people (affectionate) to remember that they deserve to not beat themselves up over this#if you're an insane person reading this: i love you i love you i love you i love you#i will share a slice of cake and homemade bread with you <3
953 notes · View notes
Text
BACK TO YOU (CHAPTER VII)
Summary: Y/N Stark and Peter Parker are unconditionally and irrevocably in love with each other, being friends for years was just the step before making it official. BUT, just the weekend they did, Thanos and the snap happened, leaving Y/N broken: without friends, avengers family or Peter Parker. So, she has to move on, at least that’s what everyone’s telling her and she really tries to do it and who better to help her than Harry Osborn. But, has she really let Peter go? What if Tony Stark -genius, billionaire, playboy, and philanthropist- knows how to bring Peter back? And what happens when he does? Is Y/N going to avenge again? Who’s going to lead the avengers now? Who is she going to choose? Harry or Peter? and who the hell is mysterio? *He doesn’t even go here
Tumblr media
word count: 7.3K 
author’s note: Okay I know this story isn’t getting too much love and I have an idea for the sequel of this which I’M IN LOVE but I don’t want to abandon another story like I did with my GMW stories so I’ll definitely finish this one for sure. Plus, I love it. Let me know what you think, even a like helps my motivation. 
SERIES MASTERLIST
You grinned your teeth together as you glared at Harry who was already exiting the elevator into the lobby of Stark’s Industries. 
What did he meant with ‘I mean, do you have to?’? It ranged on your ears as you dragged yourself from the elevator, following Harry who was carefree and unaware that he had upset you. You didn’t know which annoyed you more, that he had said it or that he was completely oblivious that it had touched a nerve. 
“What do you mean with that?”, you growled as he opened the door for you, not looking at you distracted by waving goodbye to the receptionist, Mark, that had a clear crush on him.
You pursed your lips, not because you were bothered by Harry being somehow nice to him, but because Harry wasn’t even acknowledging you. 
“With what?”, Harry asked you, cocking his head to the side. 
You watched him carefully as he answered, maybe he hadn’t even meant it or he just didn’t want to bring it up after hearing your tone. 
You doubted yourself, a part of you wanted to bring it up because it seemed like an important thing to discuss. Being head of the Avengers would become your main activity for the next couple of years, you would go to college as well and then it would come second to being CEO of Stark Industries, but that would take a while. So, Harry had to be supportive. 
But another part of you was scared, maybe he wouldn’t support you and in the back of your mind, a small part of you was worried that if Harry didn’t support you, he would show you that you had made the wrong choice. 
So, you decided to restrain yourself. 
“Nothing”, you shrugged as you walked through the streets of New York, putting on a smile. “So, how has everything been with your father?”
“Oh”, Harry said as he lumbered, looking at the ground and you saw his face turning a bit slack. “I mean… he has been undoing a lot of what I did in his absence”, he explained and he tried to seem chill, but you recognized the pain in his voice.
“What?”, you cried in disbelief. 
Harry had been killing himself over all the projects he had worked on while his father had snapped, you had been a witness of his hard work and dedication. Yes, he helped you with your non-profit but he still had his projects with his passion for bioengineering, with his goal of making an impact wherever he saw fit. 
 “Yes, the resources wouldn’t simply manage to do both of our projects. So, he cut some”, Harry shrugged while you still watched him with bulging eyes. 
“Which ones?”, your tone was dead, making Harry turned to you with a lopsided grimaced.
He sighed as he took a hold of your hand, lacing your fingers together. 
“The one that helped people in Japan?”, he fretted naturally.
It was as if he was mentally shrugging as if it was something that had to be accepted. 
“Are you serious?”, you said with lingering annoyance on your voice. 
It pained you to see him that way, you felt your cheeks growing hotter as time passed and you remember the times where he had told you he couldn’t go to New York because of his projects, or the times when you would spend entire nights at his lab working on a new thing while you learn more about bioengineering by his side. Now, you knew for sure that Norman -as your father had said before meeting Harry- was a real asshole. 
“Yes…”, Harry replied apprehensively, raising his eyebrows and pulling you into him. “But he allowed to keep the ones regarding children and public health”, he said with a genuine smile. “I fought for those”
You remained silent for a moment, watching your boyfriend carefully, analyzing his dark almond eyes and his features. How much could you intervene without being
too
much? 
“Still, I’m so sorry”, you muttered. “You know that you can transfer those programs to other companies, right?”
He stayed silent for a moment as he zoned out. Somehow, it didn’t fit with the picture that you had of Harry. He always had something to say, he was always witty and surprisingly good at making conversation, confidence was his second name. But this version of him, you didn’t know how to handle it and you didn’t know if it was more trouble to actually speak on the situation or just remained silent. But then again, you were the daughter of Tony. 
“Is there anything he did that you also wanted?”
Maybe it was a bit too forward and you shouldn’t have gotten into it because it was none of your business. And honestly, you understood what was listening to your parents’ wishes; You almost always listen to what Tony and Pepper had to say, maybe a bit too much for being a Stark but you knew that if you made a decision, they would respect it. You just wished it was the same for Harry. 
You didn’t hear him huffing at your reply and you didn’t notice how he held a little bit tighter to your hand or his flashing eyes, so what he managed to say next really surprised you. You were still thinking about Norman Osborn and if there was some way you could move those programs to another company. 
“He wants to meet you”
You stopped dead on your tracks, which made Harry turn back to you a little unsettled by your reaction. You could feel your face growing hot as your eyes connected with his. 
In the time that you and Harry had dated -about a year or so- you had reached almost every milestone, for example, him meeting your family, you met his friends, saying the actual words “I love you”, giving each other access (since everything was with AI) to each other homes, among others. He had always been nothing but perfect, a charming gentleman in every occasion. 
But although you had gone through all of that together, you were not at all prepared to meet his father, it never even crossed your mind, not even when he came back.  
“What?”
You couldn’t believe it was your actual voice, it was wheezy and tight; which Harry picked-up immediately. You could see on his eyes how uncomfortable he was with your state and you hated yourself for it because it wasn’t your intention to hurt him but you couldn’t avoid thinking not only about the words of Tony about Norman before you went to Oscorp for the first time and also your current state of mind with Peter back in your life. 
Harry nodded, “Yes, I told him about you and he really wants to have dinner with you.” He said it slowly as he pulled you a little bit closer to him slowly and with a soft smile as if he was treating you like a scared bird that would fly away if he made any more sudden moves. 
Your eyes went back to your hand holding his, gazing downwards. Something deep in you told you that maybe you didn’t really want to meet Norman Osborn, maybe it was better off like this but how could you explain it to him? Without hurting his feelings. 
“I-I, well it’s such a big step”, you cleared your throat as Harry watched you carefully. “Are you su-”
“You are not sure…”, Harry cut you off sternly as he cocked an eyebrow. 
You could tell he was upset, you could see it on his sleek jaw, how tense he was and the way he was gazing at you, like as if he was trying to dig every little thought that went through your head to know what was happening in it. He did that usually when you were in a lab together, as he watched you worked and you hadn’t become used to it because you felt on the spot; this time you liked it even less. 
It was weird since it was something Peter often did, maybe it was the memory of Peter on the back of your mind that made you uncomfortable. 
Before you could say anything trying to save the situation, he intervened. 
“Why didn’t you tell me Peter Parker was back?”, he spat. 
You felt as if cold water had been thrown over you, you shot your eyes up and somehow you felt your eye twitching at how he mentioned Peter’s name. Maybe it hit a little too close to home with your current status with Peter or maybe it was the way Harry had said his name that it stroked a chord on you. 
“How did you know he was back?”, you snapped while your eyebrows bumped together. 
Harry sighed, he rolled his eyes and passed a hand through his sleek black hair, exhaling noisily through his pursed lips.  He was trying to find the right words to bring this up, you could tell and you began tapping your foot impatiently, your lips tight in a fine line. 
“I bumped into him”, he finally said. “Pepper needed to talk to him and we got into the elevator at the same time” 
There was a beat of silence between the both of you, as your eyes linked together. Yes, you had talked about Peter a couple of times with Harry which usually ended in tears. Somehow Peter held such a personal and sacred place on your heart that you felt like you were disrespectful to his memory if you brought it up with Harry, sometimes it felt as if you were cheating completely on Peter. But you knew Harry wasn’t dumb and you knew that by now Harry had done his research on Peter Parker, he must’ve seen all your photos with him, how his face was all over your houses, how you had been capture by paparazzi with him, your Instagram, everything. 
So, the fact that he was bringing it up now… it felt like it was a big deal. 
Before you could open your mouth, you heard a growl that shook the earth beneath you, and both Harry and you turned your heads to where it was coming from. Everyone around you doing the same, some running or walking a little bit faster to their destinations, or some others taking their phones out as the chaos ensued. 
It was lower Manhattan and you felt right away the same electricity and jolt of adrenaline you used to feel years ago. It was almost automatic how your stand changed and how quickly you contacted HAPPY  
You tapped your earpiece quickly, “HAPPY, give me an update”. 
Harry turned a little bit surprised as he heard you, but he was unable to speak. 
“There’s a situation at Brooklyn Bridge, Miss. Stark”, the AI told you softly.
“Y/N…”
“I have to go”, you said pressing a quick peck on his cheek and pressing the small charm on your necklace as if it was an instinct, allowing the nano-tech to spread across your body. 
Thankfully, you had been working on your suit since the fight with Thanos and the hard work had paid off. It wasn’t as bulky as before as you had worked to fit you nicely, even with your actual clothes rather than the ones that Tony had created to be more comfortable, it felt like a second skin. 
People near you on the street seemed in awe as you transformed right in front of their eyes, kicking in the usual excitement that you felt when you wore your suit. You were no longer a girl, but a hero. 
“Wait, you had that com there the whole time?”
You shook your head laughing while your face began being covered by the nano-tech, then you activated your thrusters and they sent you off into the sky. 
“HAPPY, who’s coming?”, you said as overflew the city, finally locating the commotion coming from Brooklyn’s Bridge and there was something, it was as if someone was pouring water continuously over it. 
But no, it wasn’t possible and as the steam cleared out while you got closer you saw it. 
“What the hell?”, you whispered to yourself. 
It was a water being? A water monster?
“Miss Stark, Sam, and Bucky already left on the quinjet to Europe”, HAPPY informed you and you cursed mentally. “But Mr. Parker is already on the scene”
As always, Peter seemed to be one step ahead of you and you remembered a time where it annoyed you, but right now you were glad you were doing this with him. 
“Okay, tell KAREN to connect us”, HAPPY didn’t say anything and before you could blink you saw on your screen the saved photo for Peter’s profile. 
“Are you here? Y/N?”, Peter’s voice sounded a little bit desperate and agitated as you landed in front of the bridge. 
A few people were still running away and you tried to help some that fell, almost giving you a double-take since, at the end of the day, it seemed as if your father was there. 
“Yes, I’m here”, you answered as you saw him swinging from one part of the bridge to another, as he webbed different cables and structures that were being attacked by the water being that growled once more. “Did you call first responders?”
“First thing I did”, Peter gasped as he managed to dodge a stream of water, that seemed a bit too strong, managing to bend a bit of the metal. You rolled your eyes,
obviously, he did
.  “Any idea of what to do?”
You flew over the being, as the water creature was continuously attacking Peter, who was dodging the shots of water coming from it. Your mind process how to even begin attacking him, what could you possibly throw at the water monster to defeat it? 
Bullets? No, clearly not. Rockets? Possibly, it was fire. Canons? They can work. Flamethrower? yes. 
“Keep him distracted, avoid damaging the bridge too much”
“On it”, he yelled over the com, as he gave the flips that only he knew how.
They were intricate enough to confuse the creature that shot a rapid number of streams where Peter had been, missing him continuously and giving you the chance to shoot your shot. Soon, you were shooting the first flames, causing the creature to let out a loud cry and making you his target. It roared in your face as he began shooting its long watery arms towards you, your eyes opened wide as you flew from left to right as you tried to avoid the tentacles to touch you, he wanted to drag you down on the river. Nonetheless, as if it had been yesterday, Peter was there to distract it when it got too close to you and it worked. 
“Hey, big guy!”, he shouted, making the creature turn around for a second. It was enough for you to fly over him and losing its sight on you. 
Peter crawled through the towers of the bridge, jumping from them and then swinging between suspension cables as he avoided the shots of water that were now being fired towards him. But now you were there to back him up, you circled the creature, firing him as he was too busy trying to catch Peter with one of its streams or waves. 
Once Peter felt too tired from swinging and avoiding the creature you entered into action to take away his notice on you, and then he did the same when it came too close to you. Honestly, it looked as if you had choreographed the fight, you were so in-sync that it felt as no time had passed and neither of you had to speak to know what the other one was doing next. 
But soon you realized it was doing no-good. 
“Nothing it’s happening to it!”, you grumbled as you saw how a part of the creature was burned away but soon was patched by another stream of water. 
“Don’t you have any other trick on that suit?”, Peter asked a little bit annoyed. 
You glared at him as you hovered above it, trying to avoid how he was trying to smash you. “It’s my first time fighting a
water monster
, what about yours?”, you snapped back at Peter who was crouched as he watched you from the other tower closer to Brooklyn. 
Peter was glaring at your comment, you could tell and you turned around to watch him, the nano-tech disappearing for one second from your face so he could see your smile. 
It was supposed to be one second but it was enough for it to catch you. 
And as soon as you were going to answer, you felt the hard push thanks to the water stream on your back, knocking you out of the sky and sending your body through the air and crashing it into the river. You were somehow thankful that your helmet had managed to cover your face before crashing since it had driven you deep into the bottom of the river. 
“Ouch”, was the only thing you managed to say. 
The screen in front of you was red, signaling possible damages to your suit and body, which didn’t surprise you. 
“Miss Stark, you might have a concussion and a bruised spine”, you closed your eyes for a second before trying to stand up and use your thrusters. “And I recommend getting out if the water, it appears that your suit had sustained some damages”, HAPPY said as you activated your thrusters. 
“You don’t say”, you grumbled as you charged thrusters and they sent you into a wobbly path to the surface. 
It didn’t take long for you to reach the surface, the mask dropping from your face as you took a deep breath and found a rather weird scene. 
It seemed like the golden lines that Doctor Strange and The Ancient One conjured with their hands but this was rather different, it had triangle symbols over it and it was
green
And there was this
guy,
conjuring them with its hands and effectively
hurting
the waterman. 
“HAPPY, who’s that?”
But before the AI could answer, you heard Peter on the com. 
Peter felt sick as he saw your body helplessly crashing into the river. He tried firing some webs on your way but it was way too far for him to catch you and he panickily avoided the waterman as best as he could as he positioned himself under de bridge to see if he could find you. 
“KAREN?” He muttered as his eyes frenetically looked for you. “Where’s Y/N? Should I go down?”, he could feel the anxiety on his voice and it felt the same way when Thanos had threw you away. 
“Miss Stark is coming up”, Karen informed him and as if he had called your name, you appeared on the surface of the water. Taking a deep breath as your mask came off. 
“Y/N, thank god”, Peter sighed as he hanged from under the bridge, upside down. 
It seemed like he was looking for you and your heart thumped at the thought of Peter being worried about you. 
Quickly, he fired his web shooter and the web caught you, he then began to pull you towards him from the water and you honestly let him. Your back was hurting and so was your head, you were thankful for the help. But not so thankful for the other guy that was keeping the water monster occupied as Peter pulled you out. 
But your thoughts faded away as you got closer to Peter, who took your hand and pulled you in. 
“Peter, I’m -”,
Suddenly, he took a hold of your whole body, easily and pressed you against him as he climbed the side of the bridge quickly and laid you down on the ground. You winced as he let you on the floor, the nanotech being removed from your body as you coughed. By his agitated moves as he checked your whole body, you could tell he was worried although you couldn’t really see his face. 
“What’s hurting?”, Peter asked as he looked into your eyes, checking if the concussions were serious. 
His hands were touching your face, holding it so close to him that it remained you to older times. It sent a jolt of warmth through your body, seeing that he still cared, after everything that had gone down between the two of you. You didn’t know what Pepper had told him, but you were sure you had to thank her for it later because just by seeing his movements, you could feel that something had been lifted from him. So, you placed your hand over Peter’s who was holding your face, you could see how he tensed up for a second but then relaxed, a smile appear on your face and Peter was smiling under his mask as well.
But suddenly, another grumble filled the air and both of you turned your face to see the masked man fighting with the water being. 
“Wait, who’s that?”, you asked as you began to stand-up while Peter did the same, your suit retracting from your body.  
Peter really didn’t know who the hell he was, but somehow it reminded him a little bit of your dad and how he usually ended up helping both of you, saving the day. 
“I- I don’t know but I’m glad he’s here”, he muttered.
For some reason, the green mist was actually working and it seemed like it was making it weaker and weaker as the mysterious man surrounded it, conjuring green triangles with its hands. It seemed like magic, it really did seem like something Strange could do and somehow you internally cursed him for not appearing. 
Wasn’t he supposed to protect this dimension?
Now, you were not only mad with him about what had happened with Tony but you also felt your eyebrow twitching at the thought that he had sent an amateur magician to deal with an actual real danger that was threatening the city. Nowhere else ever you had faced a treat like this, you knew it by heart because a little bit before what happened with Thanos you had sneak with Peter to your father’s files and research about the many many threats earth had. 
Nothing had warned you about the monster that seemed out of Avatar: The Last Airbender. 
Suddenly, the man attacked the monster once again, and further away from the bridge, he conjured a whip made of the same dark green mist and managed to trapped the monster who growled as his water arms tried to reach him but they failed. 
“How’s he doing that? Who the hell is this guy?”, you snarled as you watched him carefully, limping a bit towards Peter who was watching the man closer to the edge of the bridge. 
“I don’t know but it seems to be working”, he muttered. 
Peter was, in fact, impressed by the mysterious man that had managed to give him time to rescue you. He seemed like, somehow, a
real
hero. Those that appeared on the comic books that Peter used to read on his childhood. Somehow coming out from the meeting, with no Tony giving instructions and not holding your hand, made him nostalgic. But now, it seemed as if things could really be alright. 
But on your other hand, there was something inside of you that didn’t sit right with you as you watched the strange man wrapping green mist whips on the monsters wrist, quickly he tore the monster apart without much damage done to him and it seemed as if the monster hadn’t even been there, only the mist of the water that quickly dissipated. The growls that had covered New York just a few seconds ago had become howls of hurt and defeat. 
It was gone, it was easily gone and you didn’t even know the guy who had done it. 
This was for sure going to be a headache on your first day of being the head avenger. “HAPPY”, you grumbled under your breath. “Get me everything you can find on this guy and…”
Before you could continue you could see people coming close to the bridge and to the edge of the river, slowly but surely you could hear them
applauding
him and your stomach dropped. 
It wasn’t as if you were jealous
per se
, it was about losing the control that you had just acquired that very same day. You believed you had done it right; you were following Tony’s footsteps and you were hoping deep inside your guts that you were actually doing the right thing. But now this man, who appeared out of nowhere, was being praised for only
one
fight. 
And somehow it felt like it had erased what you had done and how Tony had prepared you. 
Tony was the one that was usually applauded. 
Peter turned around to see your face of defeat and annoyance, but he on the other hand was almost mystifying but what had just happened. Because the one that was usually applaud was your father and this man, who was now waving at people on a green cloud of smoke above the river, seemed like a good one to add to your group. 
Still, he could see the pain on your face and his heart began beating faster as he tried to get close to you, not a lot since people were returning to the scene and he usually left so no one could see how close you actually were. 
“Y/N, we should leave”, he muttered as he fired a web to one of the towers of the bridge. 
Your eyes linked with Peter’s mask, who before were stamped on the mysterious man that had quickly dissipated before you notice. You were fighting to keep your tears together, not because it was in front of Peter but because people were getting closer. You sniffed for a second as the few people that had come to recover their car began to stare at you and honestly, there was nothing more you wanted right now. 
“Do you need a ride?”, a dead voice suddenly said. 
You turned around, startled as you watch Nick Fury with crossed arms in front of you, Maria Hill from behind him and an obvious crew of SHIELD agents behind them with a black jeep. Doors were open and they were obviously waiting for you. 
Before you could open your mouth, Peter spoke behind you as he walked in a protective manner towards Fury. 
“She needs to see Bruce, she’s hurt”, Peter stated with a gruff voice. 
It wasn’t that Peter didn’t like Fury, but like when the Scorpion had hurt you and he had lost it, he needed you to be okay. It was compulsive almost how protective he got when it came to you and although years had passed for you, you felt your heart jumping on your chest as you saw how his muscles contracted and how his hand became fists. 
But you weren’t the same one and neither was Peter, you were head of the Avengers now and you were the one that had to protect everyone. 
“Don’t worry, I’m okay”, you replied as you placed a hand on Peter’s shoulder and limped a bit towards Fury. “You can go now, though. I need to talk to Nick”, you said with the annoyance lingering on your voice as you glared at Fury.
“We were hoping
both
of you would come”, Maria stated as she walked towards both of you. “May you please come with us?”
You glared at the black jeep with the other agents looking back at you and contemplated it for a moment. You looked back at Peter who was already looking at you, checking in to see if you were okay with this. 
He could sense how tense you were; he could listen to how your heart was going crazy at the moment but he could also see in your eyes the spark of defiance he knew very well. 
“This better not take all day”, you muttered as you walked towards the jeep, limping a bit but trying to ignore the pain. 
You could hear Peter’s steps behind you and the rest of the SHIELD crew moving to transport you to, what you supposed would be, a secret base in New York that you probably didn’t know about. You entered the vehicle, ignoring the pain on your ribs and glaring at anyone that crossed your path. This meant something, that Fury had been at the exact same time that this asshole had defeated the water monster and that they had caught up to you and Peter just before you were about to leave?
Something didn’t fit and you were determined to know Fury’s ulterior motives, which he always had. 
Nevertheless, your thoughts faded away as Peter took his mask off and shook his curly brunette soft hair to make it look normal again. 
It was immediate how your cheeks grew warm and somehow, you eased up and you didn’t know if he noticed but with everything going on at the moment, you didn’t care. Peter, on the other hand, did notice but he didn’t really want to pay much attention, turning his head and looking around, trying to remain somehow alert on his surroundings but also being clearly clueless about what this was about. 
The car ride was silent, neither of you spoke a word but you could still feel the shift on the air because if you really wanted to talk to Peter, you felt like he wouldn’t shut you down anymore. 
Which you felt really thankful for but you still decide that for the moment you should keep it to yourself. You were known for being the queen of limits and keeping things to yourself, you knew that you couldn’t force Peter for the moment to be okay with you and if he wanted to talk to you, he would. So, you just left your unspoken truce to dwell while you were driven through New York.  
Either way, it didn’t take long for you to get to the secret base, it was underground as you had suspected and you could feel Fury’s eye-burning you while you tapped your phone as you tried to find out where the hell you were, silently asking HAPPY to scan the place, quickly taking on your hand one of the chips that were used to recollect information by hacking any system that Tony had created. This was the same way he had found out about what SHIELD wanted to do with the Tesseract, you just wished SHIELD hadn’t reinforced their system since. 
“This way”, Fury stated as you both followed his step and Maria’s down a cold metal hallway that ended in a rather small room with high tech around you, where multiple agents were working in small tables, giving coordinates and controlling the recent event, how was it going to be portrayed in the media and more. 
You scanned the room, trying to find anything strange or unusual and as you thought about it you stopped dead on your tracks while the man in front of you turned around with a rather hooded sight but other than that he was perfectly dressed and styled; as if he was one of the heroes in a movie that could do whatever he wanted and not a single hair was moved from his place. 
It didn’t sit right for you.
“This is Quentin Beck”, Fury presented as the man, now Beck approached you. 
“But you can call me Quentin”, his fruity voice catching you by surprise, then he offered his hand. 
You stayed silent as you shook his hand with a little bit more strength than usual, your eyes fixated on him as you tried to read into this guy. 
He seemed
normal
, nothing out of place and some could say he was actually a good looking guy, he was tall and his jaw was accompanied by a well-groomed beard, his body seemed to be molded by the gods -at least, with his ridiculous suit it seemed like it- and he had a good tight-lip smile but there was something in his blue electric eyes that made you uncomfortable. See, it wasn’t exactly the color that triggered something or the way they were surrounded by deep dark circles that you also had come to know but they seemed
intense and cold
,
inflexible.
His sclera was clearly visible above and below his iris, it was as if he was glaring wide-eyed at you. 
There was a drop of
something
on them, something
unstable. 
“These are Stark and Parker”, Fury stated as Beck let go of your hand but remained to look at you for a moment. 
 “You handled yourself well out there today. I saw what you both were doing”, Beck said softly to both of you, as Peter held out his hand for him to shake it. “We could use someone like you on my world”, he said talking directly to Peter.
Peter felt his chest filling with pride and a soft smile appeared on his face while you, on the other hand, frowned. 
“I’m sorry, your world?”
“Mr. Beck if from Earth, just not ours”, Fury explained as they walked you to a large table in the center of the room which had multiple holograms above it. 
“There are multiple realities. This is Earth 616 but I’m personally from Earth 833”, Beck followed as Peter’s eyes opened like plates while you focused on the holograms. 
“It’s just theoretical”, you huffed but Peter continued.
“That completely changes how we understand the initial singularity. We’re talking about an internal inflation system and how does that even work with all the quantum-”, Peter’s voice died down when he realized everyone was looking at him, unamused. “S-sorry”
“Don’t ever apologize for being the smartest one in the room” Beck said quickly with a smirk and a wink, making Peter smile again. 
Peter felt his chest puffing again and there was a familiar sense that also felt when he trained alongside Tony or manage to figure out something with him in the lab. Peter throughput his life wasn’t really confident, not even after he got his powers and became an Avenger; it was Tony that had been the one who planted that seed of confidence in him. So, to hear Beck saying something of that nature, it made him glad. 
You rolled your eyes and you quickly intervened, crossing your arms. “So, what does he have to do with these beings?”, you asked Fury. 
“They came from his planet and after the snap, it seemed like something shifted in our realities”, Maria Hill explained to you, you could feel her giving you a look. 
“So, what do we have to know about these beings?”, Peter interrupted
“They were born in stable orbits within black holes. Creatures formed from the primary elements and we just called them Elementals”; Quentin explained. “They first materialized on my earth many years ago. We mobilized and fought them, but with time they only grew and got stronger. I was part of the last battalion left trying to stop them, but the destruction was inevitable”
“And now they are here, trying to do the same as they did on your planet?”, Peter asked. 
Quentin gazed at Peter with a brooding expression and nodded. “But with your help, I think I can stop them. I manage to eliminate the Water Elemental today and last week we manage to eliminate the Sand Elemental”
“The attacks are imminent and Mr. Beck here believes that with your help on further attacks we can save the earth. He will lead us to save the earth on- ”
 “Fury, may I have a word with you”, you stated sharply, interrupting Fury. 
Everyone bug-eyed for your lack of subtlety but you didn’t care at the moment. You could feel Beck’s eyes burning you, as well as Peter’s but you didn’t flinch a bit. Still, your eyes locked with Fury’s eye. 
He cleared his throat as he looked at Beck. “We have to deal with our plan next, Stark”, he seemed like he was going to continue. 
You could swear your eyes rolled so back into your skull that your eyes looked white for a second. It was unbelievable how you were supposed to be in charge of this type of thing and the representation of the Avengers but you had to put all your trust into an unstable guy who
no one
knew and claimed that he was the
only
one to defeat these beings that were threatening earth? How stupid could that sound?
It was infuriating and it was so much more infuriating that you were being looked over and asked to be in a second seat. 
“How could you not tell me about this guy”, you snapped as you slapped the desk. 
Everyone stopped talking and turned around to look at you, even the agents working around and you could feel how Peter immediately took a step closer to you. 
“My name is Quentin”, Beck intervened, seeming a little bit upset about how you referred to him but it was the least of your concerns what he thought of you or whether he was offended. 
“Literally, nobody cares”, you replied as you glared at him for a second and turned back to Fury. 
It left Beck a bit stunned and also Peter, who didn’t really know if he should slap his face or give you a look that he often gave you when you step a little bit out of line. 
“Follow me, Stark”, Fury sighed, clearly losing his patience, as he walked towards the hallway where you had entered, you followed him swiftly. 
If it was the time to state your authority, then it shall because you weren’t about to give this up that easily and you had a responsibility, not only to the world but to your father as well. 
Once the door closed behind you, Fury began stealthy expression. “Stark, I understand you might be upset but I’m not only helping you run the avengers but more things are happening and as threats rise, so do the heroes”, 
“And like the one in the position, as you clearly stated, that you put me in, I should know about recruits. Especially someone you claim can save the earth! I should’ve been informed of these attacks”, you growled back, brows knitted together in a frown. 
“He’s not like one of those recruits, I can’t disclose it”, Fury replied, talking through his teeth. 
It was clear that he wasn’t backing down either, that Fury had decided to shut you out of this and that he took the decision on his own. He wasn’t even planning to tell you and that what had happened today and your involvement on it was merely circumstantial. 
But this was not the way you were going to work; this was not how you were planning to spend the next years of your life; always watching your back and being careful with who you worked with and fearing that someone might take your place if you didn’t prove you were good enough. 
That was not your life. 
“How the hell do you want me to run the Avengers without being able to trust the people I have to work with?”, you stated gravelly. 
Fury shut his mouth into a tight lip as he glared at you. It seemed like an eternity passed, both locking eyes and struggling to see who would stand down. 
Finally, he sighed. “Fine, I’ll tell you anything that concerns or affects your leadership on the Avengers”, Fury stated. “See? I’m nice like that”
But you remained with a deadpan expression because nothing so good would come that easily from Fury. You knew it by heart because although SHIELD would do the right thing, there would always be collateral damage or some unsuspecting exchange of favors. 
“In exchange for what?”
“Working with Beck”
You sighed and look back at the door thinking about Beck, you didn’t trust him. There was something on him that didn’t sit right with you, which cause you to be even more hesitant about this whole thing. There was a time your dad told you to always follow your instinct but this time you were at crossed roads and you didn’t know what to trust. 
But it seemed like Peter did. 
“So, your girlfriend is lovely”, Beck muttered as he got close to Peter who was anxiously gazing at the door, waiting for you to come back. 
He knew you were upset and his body was aching to hold you and tell you that it was going to be fine. But he knew it wasn’t his place and he was even surprised by how sudden he let go of his grudge. The thing was that when he fought with you, such in sync like you did before when he was so close to you to the point that he could hear your heartbeat; he felt that those two seconds of nothingness that still haunted him were completely gone along with all the loses suffer from Thanos. 
But then again, you and he weren’t together anymore. 
“Oh no, she’s not my -uhm-no”, Peter muttered as he tried to explain this beyond complicated situation but once he turned around, he saw Beck giving him a look, raising his eyebrows with a smile. 
He seemed good-natured. 
And it made Peter feel at ease. 
“Don’t worry about it, kid”, Beck replied as he placed a hand on Peter’s shoulders and gave him a comforting squeeze “It was a great work what you did today, on that bridge”
Peter gave him a nod and gave him a dimpled smile. 
“Than- Thanks”
 “Seriously, I’ve never seen someone doing those moves. Not even in my dimension”, he said with his gazed unfocused. It seemed as if he tried to recall sometime in the past, maybe lost battles against the elementals. 
So, Peter remembered once again his origin, which distracted him completely from you. 
“I can’t believe that! You come from this Earth with so much technology and science. I bet your scientist were incredibly smart, including you”, Peter exclaimed with a broad grin. 
“Yeah, but I have to tell you, kid, you got something that I haven’t seen”
Peter felt his chest getting warm and shook his head. 
“No, I’m a big fan of what you did today”, Peter replied as he tangled in a conversation with Beck. 
He was so into it that he didn’t even notice when you passed through the door, sulking after you had agreed with Fury about working with Beck to deal with this. You hoped that maybe this had passed, you could find a way to get him to another dimension since you didn’t want him sticking around if you were being honest. 
Before you could interrupt them, you felt Fury taking advantage of you and going to talk to them, so you thought it was the perfect chance as you got closer to the table with the hacker chip and place it under without anyone watching you. It was subtle and you smiled to yourself, but your smile quickly faded away as you saw how Peter was looking at Beck: his dilated pupils and his dimpled smile. It worried you because that kind of look, it only appeared when Tony was around, not even with Cap. It just transmitted such a close-knit relationship between Tony and him that it was strange for you to see him this excited by someone. It worried you even more how Quentin Beck was, he was full of himself and that egocentrically smirk with his all-powerful stand made him want to vomit, he had a big ego and you could see.
You didn’t like it. 
____
TAGLIST: @spideylovin​ @erindanus​ @zlamaneserce​ @bethanystan​ @cedricisnotonfire​ @lyzalovealk​ @babebenhardy​
24 notes · View notes
emperorsfoot · 5 years
Link
Chapter four is up! 
This time we finally get to see the clone as an actual character instead of just an unconscious prop. 
Meanwhile, Catra drags Hordak to Mara’s ship in the Crimson Wastes and they discuss Catra’s plan... as well as revisit the definition of failure. 
.
There were a great many things Hordak disliked. But it took a special kind of dislikable thing to anger him to the point where he could say, with absolute conviction, and without the shadow of a doubt, that he hated it!
Traitors were very high on his list of hates. One traitor in particular. One brilliantly intelligent, irrationally positive, absurdly energetic, prehensile haired traitor. Hordak could say that he very justifiably hated her. He vowed he would see her again, and exact his revenge!
Failure was another of his top three hates. Both the failure of his subordinates, and his own personal failures. Especially his own personal failures. He should never have trusted the Princess in the first place. He should have known better. She was originally their prisoner. What motivation did she have to help him? None! It was his own failure of judgement, failure of security, and failure to maintain boundaries that allowed her to slip in and exploit his… defects. A mistake he planned to correct in the not-too-distant future.
But the thing that was quickly rising on his list of top three hates, the thing that was vying for the coveted spot of the Most Repugnant Thing in the Universe According to Lord Hordak… was sand!
Hard, coarse, dusty, vile stuff!
It got everywhere!
Stuck under his talons. In his mouth. In his eyes! But worst of all, inside the joint and delicate inner workings of his exo-suit!
From the first step he and Catra took into the Crimson Waste, it seemed like the sand had a personal vendetta against him. Was trying to end him. If not by killing him outright, then by exposing his weakness to his companion for her to finish him off. After all, Force Captain Catra seemed to be a perfect student of Horde philosophy. Putting it into a level of practice that would make even the strict and difficult to please Horde Prime proud.
Hordren and Red Hord would’ve liked her too.
Hordwing and Hode would have hated her.
But Hordak tried not to think about Hode. His old mentor. The one who’s position on Prime’s cabinet he took over after the older clone expired. What would Hode say to him now?
‘Every situation can be turned, Zero-Zero-Three. No fall is too far for one to climb back up from. Provided you are strong enough. Are you strong enough, Zero-Zero-Three?’
Hordak liked to think he was strong enough.
Hode probably never had to deal with the betrayal of a- a- a useful associate he allowed to get too close. Hode never would have allowed one to get so close in the first place. To weasel her way past his boundaries and under his barriers. To give him new armor while simultaneously breaking down the other armor he’d carefully constructed around himself. An armor which allowed him to rise in rank within his division of the Empire. An armor which allowed him to ascend to a seat on the ruling cabinet itself! Hode never would have been so foolish, or so… weak.
Hordak liked to think he was strong, but –thus far- all evidence was to the contrary.
The wind changed, blowing a fresh cloud of dust around them.
And this All High Host-cursed sand was really testing him!
Hordak wrapped a hand around the opposite wrist of his exo-suit, already feeling the tingling of a malfunction coming on. He would not have a ‘tizzy’ in front of Catra. The fact that she was supposed to be his subordinate aside, she was in the position of power in this particular situation.
She could navigate the Crimson Wastes, he could not. She knew where they were going, he did not. She was physically fit and able-bodied, he was one prosthetic suit malfunction away from being an invalid. She had a plan, while all he had was a vague demand for satisfaction from the one who betrayed him. At this moment, in this situation, Catra was the one in control.
A fact he was sure she was just as aware of as he was. Though she had not capitalized on it yet, and Hordak had to wonder as to why. After his treatment of her over the past year, she must be harboring a grudge. All High Host knew he held a grudge against Hordren when he was still new to the cabinet and very green. Freshly promoted and newly named. Still getting used to being called ‘Hordak’ instead of ‘Zero-Zero-Three.’
“Keep up!” Catra snarled at him.
She stood, silhouetted against the empty, cloudless sky. A sky that looked as dry and uninviting as the sand through which she had dragged him. Mane of hair blowing in the wind. Tail flicking back and forth in irritation. For such a clever and formidable… survivor, she was incredibly easy to read. The cat-girl was impatient and annoyed. Not exactly the image of a leader with a plan. She did not look collected and in control. She looked frustrated.
‘Do not give into frustration, Zero-Zero-Three.’ Hode often repeated to him. Repeated to him so often, in fact, that it caused the very frustration the older clone was warning against. ‘Frustration is one of the mind killers. It clouds the ability to think.’
Perhaps that was why Entrapta’s betrayal had taken him so utterly and completely by surprise.
He had been struggling with his portal project for years. For almost as long as he had established his own little facsimile of a Horde Supremacy here on Etheria. For as long as he’d had the resources to build a portal, he’d been trying to do just that… and failing at every attempt. Again, and again, and again. He was angry, and he was impatient, and he was frustrated.
So, when this energetic little Princess appeared in his lab and just fixed it, as if it were nothing, as if it were easy, he didn’t think twice. He didn’t question. He didn’t stop to wonder the why. All he cared about was that she could give him what he wanted, and so he gave her what she wanted. Unlimited access and resources.
She managed to keep the ruse up for a very long time. So long, in fact that they actually created a working portal. So, long that she actually allowed him to succeed.
Except she didn’t allow him to succeed, because that was also the day she brought the Alliance in to destroy him.
But he would destroy her in return. He promised himself
As she had forced him to watch the destruction of all that he cared for, his one and only way home, so too would he make her watch as he destroyed all she cared for. Her precious Princess Alliance, her home Queendom of Dryl, her laboratory, all her inventions and experiments, her notes, those blasted recordings. He would wipe her very existence from the face of this world! And he would make her watch as he did so. He would see her face as she realized that he had destroyed her. That he had taken all but her life. And when she begged him to take that as well, he would refuse.
Entrapta was a brilliant scientist, after all. She was a valuable resource, and Hordak was not in the habit of throwing away resources. Perhaps he would present her to Horde Prime as a gift when he finally returned home.
…If he ever returned home.
The prospects were not looking good from his side, and there was no way for him to know if Prime received the signal from the other side.
Trying very hard to control his breaths so that Catra did not hear him wheezing, Hordak finally crested the top of the dune they were climbing. The gasp he made had nothing to do with his lungs being desperate for breath.
There, in front of them, jutting up from the desert, was an arrow shaped space ship. Not Horde in design. The Horde preferred sharp angles and hard lines. This one was smooth and elegant. Not unsimilar to some First Ones’ designs he’d seen. Not a Horde ship, then. A First Ones’ ship.
“C’mon.” Catra snapped. Then was bounding down the other slope of the dune, towards the ship.
Hordak longed for a sandworm to come up and swallow her whole. A shame the Great Makers were only native to Arakis and were not found on Etheria. We would have longed to see the cat-girl get eaten, then wash the sight down with fresh glass of Spice.
He followed her to the ship.
The sand had gotten in here too.
Sand truly was a horrible thing. It was hard, and course, and it got everywhere. Hordak hated the sand.
But there was less of it inside the ship. And, inside the ship it was cool, without the harsh sun of the Wastes beating down on them. Cool, and dim, almost dark. Not unlike his own Sanctum. It was almost homey inside the crashed First Ones’ ship, and Hordak felt himself relax before he gave his body leave to. The hand around his wrist letting go, as the tingling that was the warning sign of an episode subsided.
Taking a deep breath of the dry air, he let his aching lungs rest for a moment before asking the necessary question. “Why have you dragged me here?”
In answer to this, Catra kicked a console and a hologram appeared. A hologram of a very familiar, two and half meters tall, shiny, Princess, savior. Except that it wasn’t the one Hordak was familiar with. The She-Ra that destroyed his portal and defeated him was former-Force Captain Adora. This She-Ra, however, identified herself as…
“I am Mara, She-Ra of Etheria, and I am gone.”
It kept repeating. On a loop. The same sentence. She was She-Ra, and legendary hero of Etheria, but not the She-Ra he’d spent the past year being thwarted by.
“I’m still waiting for an explanation, Force Captain.” Hordak turned –what he hoped- was an intimidating scowl at the cat-girl. “Why have you brought me here?”
Catra crossed her arms over her chest, as if she were impatient with him. As if he should just know, without having to be told. Since he did not know, it was very inconvenient for her to have to explain.
“There’s a larger message.” She told him. “I saw it, but it was glitching. Skipping around, like an old laser disk with a scratch. I’m not techy. But you are. Fix it.”
Hordak raised one pale, waxy brow-ridge. How dare she presume to give him orders!
Except he knew exactly how she presumed to give him orders. She might not know it yet, but one carefully placed blow from her could kill him. He was not as strong as he used to be. He had not been as strong as he used to be for a very long time. Far longer than before he began making real and meaningful progress with his portal. Entrapta might not know it, but she actually saved his life when she built the exo-suit for him. Her Alliance might have won a lot sooner, and she might not have had to betray him at all, had she not gifted him with this one prosthetic suit.
Absentmindedly, Hordak touched a talon to the gem on his collar. A shard of a First Ones crystal in a dusky fuchsia color. Did Entrapta know truly what it was she was doing for him when she made it? Or did she just think it was ‘something nice’ that would prompt him to trust her more. Not just trust her more, but trust her completely. Because, at the end there, Hordak did trust her completely. Not just trust her, but want her. Want her there. When the portal was activated. Their portal. That they had made together. He wanted her standing next to him when that lever was pulled and the universe opened up for them.
But she wasn’t there.
Entrapta had been nowhere in sight. She hadn’t even showed up to laugh in his face and call him a fool for how easily he allowed himself to be manipulated by her.
Hordak did wonder where she went. Why she wasn’t there. Even in the capacity of an enemy, she should have been there. It was a decisive moment.
Catra impatiently tapped her foot on the sandy spaceship floor.
Hordak lowered his hand from the crystal at his collar. There would be time to dwell on Entrapta. Later.
“I fail to see how a corrupted message file from a long-dead speaker is of any importance.” He informed Catra.
“Because.” Began the cat-girl in a voice similar to the one she used when she had to explain something to Force Captain Scorpia. Something Catra felt should be obvious and couldn’t understand why the other people around her weren’t getting it. “That other She-Ra mentioned a weapon. I’m sure of it. And a super-weapon is exactly what we need right now. We could defeat She-Ra and take down the whole Princess Alliance in one strike.
“Assuming you know how to use this weapon.” Hordak pointed out.
“That all depends on what the weapon is, now doesn’t it.” Catra crooned. “That’s what you’re gonna find out. You’ve been incorporated First Ones’ tech into your experiments since before Entrapta came along. You’ve got to have figured out how this stuff works by now!”
Unconsciously, Hordak placed a hand to the crystal on the collar of his exo-suit. He hadn’t figured out the First Ones’ tech. Not really. He spent so much time and made so little progress. Entrapta was the real First Ones expert. Entrapta was what Catra needed. He was a poor substitute.
But he also wasn’t going to tell Catra that.
“If what you say is, in fact, true, then will She-Ra and her Princess Alliance not return to reclaim the very information we are seeking?” He pointed out instead.
But if the Princess Alliance did come to reclaim a former She-Ra’s message, and that message was buried in First Ones’ data, they would need to bring Entrapta. If he remained here and prepared an ambush for the Alliance, then he could see Entrapta again. He could have satisfaction!
“Which is why we’re gonna get it first!” Catra announced with a level of confidence that was completely unfounded given their combined knowledge of First Ones tech was barely above that of a child.
Then Catra smiled a malicious little grin. One full of dark irony and her own helping of vicious satisfaction. She scooped up handful of sand up off the floor and crossed the space between them.
“And Hordak,” she cooed up at him, almost as if with affection. “You do know what the meaning of ‘failure’ is.”
He felt a small stone of dread sink into the pit of his stomach at the question. He knew she had to be just as aware of the shift in the power dynamic between them as he was. He knew she had to be aware that she held the advantage in this particular situation. It seemed the cat-girl was capitalizing on it after all.
“If you thought the atmosphere was problematic…” She climbed up on top of the ship’s darkened and lifeless console to close the height difference between them. She looked him dead in the eyes, mismatched heterochromia to pupilless red sclera. Face stony and impassive, she dropped her handful of sand into his exo-suit, so that it trickled under the lip of the collar bow between the suit and his already sensitive skin. “…wait until you get a load of the environment.”
The almost instant skin irritation was bad enough. But then he felt the tingling that warned of a suit malfunction. The exo-suit Entrapta fitted him with not know how to communicate with his existing cybernetic implants to compensate for the foreign irritants. Hordak tried to hold his composure as best he could. He really did.
He still found himself leaning against the ship’s console. Using it to support his weight as his prosthetics shorted. Sparking visibly in the dim chamber.
Still standing on the console, Catra knelt down to whisper in his delicately pointed ear. “I trust we understand each other.”
Hordak barely managed to raise his head to look at her. But he very clearly caught her toothy grin of satisfaction.
It was safe to say that Socrpia had no idea what she was doing.
She didn’t know much about children, and she knew even less about clones. In the holo-dramas she sometimes watched, all clones always came out of the tubes –or tank in Little Hordak’s case- fully functioning. Able to speak, and stand, understand language and follow commands. In the holo-dramas Scorpia watched, clones were given some kind of programming or education while still gestating. So they could function like people.
Entrapta, however, did not appear to have done this.
When the little Hordak-clone first began to breath, the first thing they did was cry. Loudly.
Imp placed both of his pudgy hands over his ears and fluttered up into the rafters to get away from the sound. Scorpia similarly clapped her pincers over her ears, at a bit of a loss as to what to do.
The next few minutes were a blur of cuddles, and cooing non-sense reassurances to the clone –whom was even more of a child than they looked- when Little Hordak was finally calm and quiet again, Scorpia turned her attention to a meaningful escape. The Alliance had beaten them, Catra had betrayed her and their friendship, original-Hordak was missing.
Scorpia lifted the small child up into her arms and stomped from the lab.
Imp just barly managed to swipe Entrapta’s discarded recorder as he flew to keep up with the Force Captain. If there were any answers to the question that was the young clone, it would be on that recorder.
Scorpia carried the clone to her own quarters. Imp flapping behind them, hugging the recorder to his tiny chest. He seemed determined to stick close to the Little Hordak, almost as if they were the actual Lord himself.
Taking a sheet from her bed, Scorpia wrapped it around the clone’s naked body. She cut the hem so they could walk on their own –assuming they knew how- and cut a hole for their head, transforming the former sheet into a kind of sloppy shift. It was red, like everything else in the Horde, a stark contrast to their whiter-than-white skin and vibrant blue hair. One might have argued that the sheet brought out the color of their eyes, except the clone’s eyes weren’t really a true red. At least, not a red the same as original-Hordak’s red.
They still glowed slightly, as if lit from some internal light. An interesting bioluminescence not usually found on Etheria. But the color was different. While Hordak’s eyes were a primary-red, or a true-red, the clone’s were closer to fuchsia. An extremely bright pink with violet undertones.
Scorpia sat the clone on her now bare bed and turned to pack a quick bag for herself. But she stopped when she felt something tug on her arm. It felt almost like the sheet was tangled around her. Something coiled around her forearm and pulling.
She looked back, dark eyes going wide at what she saw.
It wasn’t the sheet wrapped around her arm. It was the clone’s blue mohawk of hair. That long tail of hair. As long as they were tall, blue and narrow, just like Hordak’s but… Scorpia looked at the hair coiled around her arm. She watched the strands move over her armor as if they had a mind of their own. She felt them try and tug her back, closer to the clone. Hair that functioned the same as any limb. Prehensile hair. Just like Entrapta! They looked like Hordak, but they had Entrapta’s prehensile hair! Maybe not the same color or style, but the same physical capabilities.
So… not a true clone, then. A combination of the two of them. An amalgamation. A composite.
An offspring.
Scropia hadn’t found Entrapta’s last experiment, she found Entrapta’s child! Entrapta’s child with Hordak. –Gross.- Scorpia inwardly cringed, there was no accounting for taste. And only Entrapta would have a baby through experimentation rather than… the usual way.
She tried to peel the hair off her arm, hooking her free pincer claw under it and all but prying the tight spiral of blue off her. It look a surprising amount of effort, the hair was stronger than they looked. But then, Entrapta’s hair had always been stronger than she looked.
Free of the limb again, Scorpia darted around her room, throwing things messily into a standard issue duffle. Spare armor, civilian clothing, underclothing. But when she darted into her private bathroom –as a Princess she was entitled to the privilege of her own washroom and toilet- the clone began to cry. Scorpia was literally the only person they knew, and she was suddenly out of sight.
She poked her head out from around the doorframe. “Hey, hey, I’m still here, kiddo.” She tried to sooth. “Uh, Hordak? Lord-? Little Lord? Little Hordak.”
Seeing her again, the clone gave a soft sniff and stopped crying.
Scorpia went back into the bathroom.
The clone began to cry again.
“Of for the love of-“ She poked her head out again.
The clone stopped crying again.
“This is not the best time to play Peek-a-Boo, Little Hordak.” She called to them.
Imp fluttered onto the bed next to the clone. Partially in an attempt to distract them, he understood the necessity of getting master’s… whatever they were to master- out of the Fright Zone before an enemy, or a rival for power learned of them. But also partly because Imp was still confused by them. By this stange new organism that hatched from a Horde cloning tank, the same as master, and the same as Hode before him. The same as every Horde clone ever. And yet they did not smell like every Horde clone. They didn’t not smell like master. Not entirely. They smelled… mixed. Hybrid. Alien.
With Imp distracting the clone, Scorpia was able to finish her frantic and haphazard packing. With the duffle thrown over her back, the strap crossing her chest, she scooped the clone back up into her arms.
There was more than one skiff already missing when the trio made it to the hangers. It looked like Scorpia wasn’t the only one who decided to jump ship after the Sanctum blew.
She settled the clone as best she could. Horde skiff’s weren’t exactly designed with seatbelts, but Socrpia didn’t trust the clone with his infant-like understanding of things not to fall out while she was piloting. She laid her duffel bag over their lap, hoping that would be enough to keep them in place. They were a kid, maybe they’d think of the duffle as an awkward heavy blanket.
“Stay down, Little Hordak.” Scorpia instructed, not even sure if the clone understood or not.
They blinked back up at her with those odd eyes. Glowing and solid sclera devoid of iris or pupil, like Hordak’s, but fuschia in color, like Entrapta’s. For half a second Scorpia wondered if they did understand.
Then the clone smiled back at her. Smiled, as if they were not fleeing a defeated military instillation full of deserters, looters, vengeful zealots, and the very enemies that defeated them in the first place. Clearly, they did not understand as much as they thought they did.
“H’dak!” The clone’s smile was also not like Hordak’s –not that Scorpia had ever actually seen the Lord smile. But Hordak’s teeth were red. Almost as red as his eyes, although, they didn’t glow –obviously. But the clone’s teeth were white. A perfectly normal color for Etherian teeth. Still sharp, and pointed, with elongated canines coming down into fangs. But they were not red. More of Entrapta manifesting itself in the clone. “H’dak!”
They were so utterly oblivious to the gravity of their situation. So innocent and trusting of her. Scorpia couldn’t help but smile back at the ignorant creature. “That’s right, kiddo, you’re Hordak.”
Imp shot a disapproving frown in her direction. This amalgam creature was most definitely not master! He held the recorder in his hands. The moment they were safe and not moving anymore, Imp was going to go through every sound file on the whole thing. He would dissect Entrapta’s notes until he discovered what this… what this genetic composite really was.
“H’dak!” The clone said again as Scorpia piloted the skiff away from the Fright Zone.
That was four days ago.
Not knowing where else to go or what else to do, Scorpia navigated them to Dryl. It was Entrapta’s Queendom, after all, and the little Hordak clone –whom she had started calling ‘Dak’- was Entrapta’s creation. It stood to reason that Dryl would be the perfect place to taken them.
The staff of Castle Dryl… had mixed reactions.
Baker, Soda Pop, and Busgirl glared at Scorpia darkly. Before word of the Horde’s defeat reached them, they were –technically- under Horde occupation. Their ruling Princess having gone over to the Horde willingly. Dryl still hung Horde banners, and was still filled with Horde soldiers. Where Baker, Soda Pop, and Busgirl once served only one eccentric and only occasionally terrifying Princess, they now had to serve a whole occupying army.
Then a Force Captain shows up out of nowhere in only a skiff, no other soldiers or guards, and a small child in tow. It was an odd event to say the least.
The occupying soldiers’ reactions were less hostile and more confused. Not all of them had ever even seen Hordak in their lives. They only knew what he looked like from vague description. But those whom had been in the presence of the leader of the Horde definitely, definitely could recognize him. Lord Hordak was not something one easily forgets. One look at the small child holding Scorpia’s claw, and sucking on their hair was all it took for some soldiers to note the resemblance and jump to conclusions.
The Horde was defeated. The Princess Alliance won. Hordak was killed. And one surviving loyal Force Captain escaped with a young child that could only be Hordak’s heir.
It was the kind of story told as the prologue to an epic opera. ‘Lord of the Rings’ –Etheria version. ‘A Song of Ice and Fire’ –Dryl redux.
Scorpia sat down with Baker, Soda Pop, and Busgirl in the kitchen. They were the highest ranked staff in the castle –the highest ranked native staff- there were higher ranked Horde Scorpia could have talked with, but that could wait. She wanted these people to know what she’d discovered first. She wanted Entrapta’s people to hear it from her, not the scuttlebutt of occupying soldiers.
They sat at the kitchen table, using it as more of a makeshift conference table.
“I don’t see why you had to come here!” Busgirl blurted out what everyone else was thinking.
Baker and Soda Pop looked nervous. During her previous visit, Force Captain Scorpia had never been cruel to the people of Dryl. In fact, compared to other Horde officers, she was downright nice! Sociable and happy. Inexplicably cheerful and easy to get along with. The kind of person that put others at ease and made one forget that she was actually an agent of a tyrannical regime that was slowly taking over the planet. But, Scorpia was still a Horde officer. Testing her patience was never a good idea.
But Scorpia didn’t seem all that tested. In fact, she looked a little… awkward. One pincer scratched at the back of her head while she looked for words to explain things.
At the other end of the room –where there was no stove or carving knives for a child to hurt themselves on- Dak played with Imp. At least the staff assumed it was play. The little Horde-Etherian hybrid was trying to grab at the fluttering deamon. Clawing at the empty air with their tiny taloned hands. Occasionally they would make a jump to close the distance between them, but Imp just hovered higher, keeping just out of reach of the small master’s clone.
“Want!” The child snapped in frustration, glaring up at Imp whom insisted on hovering just out of reach. They had added several words to their vocabulary over the past few days with Scorpia. It wasn’t just ‘H’dak’ anymore. Now they could convey their ‘want!’, mangled Scorpia’s name into ‘Sc’pya’, expressed their displeasure with a pitchy ‘No!’, and understood to ask the dreaded and terrible ‘why?’
It had been four days since Scorpia and Imp found them in a cloning tank in Entrapta’s old lab. In the space of four days, little Dak had gone from the mentality and understanding of a newborn infant, to that of an 18-month old toddler. Clearly, they inherited Entrapta’s intelligence. Either that or it was just a trick of the cloning process. Scorpia didn’t know enough about any of it to hazard a guess.
Imp just chortled at the clone. Flapping over to perch atop a kitchen cabinet. He opened his mouth wide and threw the little Hordak’s own word back at them. ‘Want! Want! Want!’
In response to this taunting, Dak just growled. A low, feral sound, forming in the back of their throat. Not a sound the average Etherian could make unless they hailed from a furry sub-species.
“Oh, geez, uh,” Scorpia was trying to explain to the staff but wasn’t quite sure how, “ya see, the thing is… Little Dak isn’t just Hordak’s, uh… Hordak’s whatever. They’re also Entrapta’s!”
All three Dryl staff looked confused. “The Princess’ what?”
Frustrated with his Imp playmate, Dak tried to climb up onto the counter, using the drawer handles as foot holds. They used their hands to brace against the wall for balance on the new, higher surface, and reached their hair up to grab the little deamon for him. The thin blue mohawk coiling around the Imp tightly, entangling the small creature as if in a tentacle, and pulled Imp down off the shelf.
“Mine!” Dak announced triumphantly.
Imp just gave a chirp of resignation. He was caught. But then, that was the whole point of the game, after all. Horde were predators. Since master’s… whatever they were, didn’t recive any programming during gestation, they would need to be trained the old fashioned way. Imp was just lucky that Hode made sure Imp knew what the old fashioned way was before the old clone expired.
The staff just stared, open mouthed and wide eyed, at the child. A miniature Hordak, or so they’d been told, none of them had ever seen Hordak before. But a miniature Hordak whom also enjoyed their own Princess’ power of prehensile hair. A trait no other family on Etheria had. A trait that was unique to the royal house of Dryl. This ‘Dak’ wasn’t just Hordak’s… whatever, they were also Entrapta’s… child?
But, that couldn’t be right. It hadn’t even been a year since she was lost in the Fright Zone and joined the Horde, and this child was very clearly a decade old –in physical appearance, at least. Mentally they seemed a little over a year, but that was still too old to be the naturally begotten child born from the leader of the Horde and their Princess. Reproduction did not work that fast!
Dak noticed everyone staring at them and bared his teeth in a challenge. Teeth that were as pointed and sharp as Hordak’s, but white and enameled as an Etherian’s. They hugged Imp tighter to them. “Mine!”
“I guess that’s a good explanation right there.” Scorpia laughed good-naturedly. As if this were just a friendly conversation and a friend’s child had just done something cute. As if a giant bombshell nobody really understood hadn’t just been dropped on the staff. When Scorpia noticed that no one else was laughing along with her, she cringed.
“How is this even possible?” Baker approached the child. She was about to offer them a hand to help climb down off the counter, but Imp hissed loudly. She thought twice, not wanting that little deamon creature to bite her.
Imp glared a challenge at the other too, in case they wanted to interfere with the Horde hybrid’s training too. Master’s… heir? had to learn on their own. Master’s heir had to be strong. Otherwise they would not be Horde.
“But you get why I brought them here, right?” Scorpia asked.
All three staff exchanged a grim look. Yes, they understood. Young Hordak, second of his name, was not a lost heir of the Horde smuggled out of the Fright Zone by a loyal Captain to be raised to reclaim the thrown. Little Dak, was Entrapta’s successor, the heir to the Dryl Queendom. They were being brought home by a friend of their… (creator’s?) mother’s.
“You did the right thing.” Baker decided as she watched the pale child climb down from the counter on their own.
They had to let go of Imp to do it. Using both their hands, and their hair, for balance. But they made it down off the counter all on their own, and they didn’t stumble or fall once. Given more time and practice, they would become just as adept at climbing walls and sneaking through air vents as their mother.
“H’dak!” They announced once their feet were firmly back on the floor.
“That’s right!” Baker cooed, clapping her hands to congratulate them as if getting down off a surface without hurting themselves was a praise-worthy feat.
Dak placed a hand to their belly, frowning as they tried to think of the correct word for how they felt. “Want.” They decided. They patted their belly to make sure the adults in the room understood. “Want.”
“Are you hungry?” Baker asked. They were already in the kitchen, she could make something easily.
For half a moment, Dak looked confused, not sure what the grown-up was asking. They were still learning and language was confusing. “I’m H’dak.”
Imp fluttered down to perch on top of the child. The clone’s shoulder’s were much narrower than master’s. Imp could not perch on Dak the same way he perched on Hordak. The little deamon balanced on the back of their neck instead, one pudgy leg thrown over each shoulder. He looked at the Baker, opened his mouth, and repeated her own word back at her, ‘Hungry. Hungry. Hungry.’ To confirm for her that, yes, that was what master’s heir needed.
Nodding her understanding, Baker got to work. Pulling out mixing bowls and baking pans. Flour, eggs, milk, sugar… all the things that went into her cooking for the child’s mother.
While Baker worked, Soda Pop turned to Scorpia, a serious frown on his face. “So what’s you plan with this child?” He asked. “What are you going to do now?”
Because they might be the heir to Dryl, but they were also the heir to the Horde –assuming the Horde practiced hereditary inheritance. The staff did not like the idea of their Princess’ only child being used as a pawn in some Force Captain’s machiavellian schemes for power.
Scorpia scratched the back of her head again. “See, the thing is… I was kinda hoping you could just take them for me?” She confessed. “Take care of them, I mean. The kiddo doesn’t know anything about anything and I can’t have a kid tagging along where I’m going.”
That was not the answer Soda Pop was expecting. He was expecting the Force Captain to invite herself to stay. Install herself as Dak’s regent until they came of age and could take over Dryl. Use the clone’s pedigree for her own ambitions. Instead she was just… dropping him off at home?
“Where are you going?” Soda Pop found himself asking.
This time, when Scorpia answered, it was not sheepish or unsure. She did not scratch the back of her head awkwardly. She was resolved and firm when she spoke. “I made a mistake.” She admitted. “I betrayed a friend and sent her to a really bad place. I gotta go there and get her back.”
Soda Pop raised an eyebrow, genuinely curious. He didn’t know Horde soldiers had friends. Let along friendships that were deep enough to prompt someone to go on what sounded like a dangerous and possibly life-threatening quest. “Who?”
Scorpia cast a forlorn look at Dak. “Their mother.”
19 notes · View notes
pbacklinks · 3 years
Text
37 Reliable Ways To Make Money With Your Blog or Website as a Newbie
New Post has been published on https://pingbacklinks.com/37-reliable-ways-to-make-money-with-your-blog-or-website-as-a-newbie/
37 Reliable Ways To Make Money With Your Blog or Website as a Newbie
Tumblr media
So, you have built a fully functional website or blog and you are trying to figure out how to monetize it. Well, there are tons of ways you can make it work for you. In this book, we have compiled a list of 37 methods of turning your website into a money maker without even making significant investments in it. Let’s get started.
“Pay Per Click” advertisements (Google Adsense)
  Google operates two advertising programs: AdWords and Adsense. The former entails showing adverts on the results returned by Google search. As a website owner who needs to make money from your site, you don’t need the former, but the latter – Adsense, which lets you display adverts on your site instead, and you’ll be paid for it!
The best part about Google Adsense is that it is incredibly easy to set up and the returns are quite motivating.
How does it work? After you sign up with the program, Google will attach a tiny block of code on your website to identify the kind of content you post there and the type of visitors you receive. This code is also used to uniquely target your visitors with relevant advertisements while considering the niche of your website. If your website is all about fashion and apparel, for example, Google will begin showing your audience adverts for fashion-related stuff: clothes, accessories, shoes, etc.
You earn money whenever a visitor clicks on the advert. (It’s that simple!)
The average pay per click is somewhere in the middle of $0.50 and $5. And when your site has robust traffic, you can comfortably earn hundreds (sometimes thousands) of dollars every month.
How do you apply for AdSense, you might ask? Before even applying, consider taking a glance at their Terms and Conditions (they update them quite often, and they are strict on those rules). Now open another tab on your browser and sign up with the program.
Benefits of joining AdSense
If you own more than one site, AdSense lets you manage all your ads from one place
You don’t need to sell any specific product to earn money; you simply display other people’s promotions on your site
You audience will only be showed ads that are relevant to them – no annoying and irrelevant stuff
AdSense doesn’t even require you to understand the technical part of the program, they will do the complicated part for you
Both you and your audience would love good web design. Well, Google AdSense gives you greater degree of customization concerning the adverts they supply
Did we mention it is free to join? Yes, it is. And joining it is incredibly easy
No initial investments are required, whether in term of money or time
Drawbacks
Limited language support
Minor mistakes can result to lifetime ban (as we earlier mentioned, Google AdSense are very strict with their rules)
Traffic exchanges and traffic from social networks are restricted
Invasive tracking brings privacy questions
You can’t change country or the name of the payee
  Sell your own stuff (can be eBooks or any other digital product)
You have a huge potential to make money by creating a “per sale” service that let’s your audience access your material at a fee. There is no middle man you can worry that they may slash some of your earnings.
Are you too good at something that you would like to pass the skills to someone else? Why not start an online course on your website? Alternatively, you can write eBooks about or create podcasts within your area of expertise and ask your audience to buy them based on whichever friendly plan you can formulate.
Besides selling digital products (eBooks, tutorials, and stuff), you can also sell physical products
This approach may look simple and straightforward because all you need is enough knowledge in something or possession of a product you can make yourself, so you can simply avail these items on your site and start making money immediately. Unfortunately, it is not as easy as it looks. Creating a quality product requires massive investment in terms of time and financial resources. Other resources like content and design may be required. Besides, you will need to set up a third-party payment gateway to complete such operations as shipping, payment, and even taxes – you are almost assured of having problems in the initial phases.
When you get everything right, you will be an independent content creator or seller of an item with greater say on your cash inflows.
Here are some valuable resources I thought would be great for starters:
Guide to selling products from your site
How to create “Buy Now” button on your site with PayPal
Benefits of selling products on your site
As aforementioned, you have total control on things like price and output
You get to keep the lion’s share of your earnings. No middle men, just the tax man.
It is a great way of getting the most out of your talent or skills. (Selling handcrafted products, for instance)
  Accept donations from your visitors
If you are a beginner blogger or you’re just starting out with your website and you don’t have many monthly visits, but your site has a sizable and engaged community, you can simply ask your followers to donate. It isn’t the best paying way of monetizing your site but can help you meet the expenses as you work towards making your site more established. We know of some programs that have been sustained in their entirety by donations. A good example is the Videonlan project (the guys behind the ever-versatile VLC Media Player) although their case is a bit unique. Another good example are the operators of the web.acrchive.org who make a lot of money purely from donations.
Asking people to support your journey shouldn’t be hard, and that’s why Paypal offers a tiny donation button you can add on your site to keep you going – here is how to create one. There is a detailed guide about how to accept donations on wikiHow, check it out.
Benefits of accepting donations
It is easy to integrate
You can easily establish recurring payments (with Paypal)
Payments are almost always secure
It is a showoff gratitude from your audience
Drawbacks
There is always that discomfort you feel when asking people to donate, it feels like begging
It is both unreliable and unsustainable
  Review products and other people’s websites
This technique of monetizing your site is applicable if you are a leader in a specific niche. If your website or blog is popular among parents, for instance, you can review children toys. If you are into video games and you’ve built a sizable following on social media, why not review the latest releases from the comfort of your website and let your social media followers flock there?
But even if you haven’t established your site to be an authority in any niche yet, you can start off as a reviewer – all popular reviewers began from somewhere.
How does product review pay? Manufacturers would normally pay you to review or test their products on your platform with hopes that someone in your audience will be impressed with the product and proceed to buy. You may as well review products without being asked by the manufacturer, but you will be aiming to boost traffic this time, which can help you build the reputation of your website or even increase your referrals if you are signed to an affiliate program.
The most assuring thing about reviewing products is that manufactures will eventually come to you once your website has gained root in a specific niche.
Benefits of reviewing products
You have the freedom to set your own prices
You can use review materials for marketing
One of the surest ways of becoming an authority site in a given niche
Doesn’t require huge investments as you don’t need to own the products you are reviewing
Drawbacks
Very difficult to make money if you are not an already established figure in the niche
Create an e-Commerce site (you need to work hard)
You can move away from the traditional approach of making content to be the center of your website’s survival and instead base it on products or tools. A website that offers a certain product or tools is an online store or e-commerce site.
But this could be the hardest way of monetizing your website because there are tons of e-commerce sites on the web already and you must compete with a lot of them. The only way to stand out of the pack having a better strategy than anyone else and employing the most effective marketing techniques you can ever come across. Also, it is just as important to find a unique niche, preferably one that hasn’t been overcrowded yet.
How much money do you stand to make from an online store? Let’s say your store is one of the most successful in your niche, you can earn over $100,000 per month. The initial investments leading to such income can be significantly high. A yet-to-very-established online store can bring about $500 in a month.
How do you get started? We need a whole separate post to outline how to go about it. Here are two brief guides:
How to start a WooCommerce online shop (for WordPress)
How to start a Shopify e-Commerce shop (for Shopify)
Benefits of running an online shop
Access to global market 24/7
You can manage your shop from anywhere
Measured results through various online marketing strategies
You can sell almost anything
Setbacks
Initial investments can be very high
It is highly demanding. Unless you have a dedicated team to handle your clients and other aspects of the business, you will have a hard time running it alone
  Flip your site (Build > Sell > Reinvest)
  Well, you have probably never heard of this before, but you can sell your website to someone else, make some good money, and reinvest it in another new website. You just add everything that makes a good website: AdSense, search engine optimization, and even having sold some products on the site. There is always a buyer out there trying to avoid the hard labor of creating a functional website from scratch.
Honestly, I don’t suggest that people should make sites and sell them and even make a business around that activity. I am a big fan of building something that you can use in a long time, or forever.
But you can’t ignore how lucrative this business can be. Imagine a scenario where your site earns about $400 per month by selling ad space. If everything else is working perfectly, the price tag on such a website will be somewhere between $4000 and $10,000.
Better yet, you can opt to deal in ready-made sites. They are cheap, but you can make pretty decent money from it
Where can you sell your site?
Flippa – the most well-known website market
WeBuyWebsites – a marketplace strictly dedicated to buying websites
FEinternational – if you have a high-end website, sell it here
Benefits of selling websites
Low set up and running costs
You enjoy higher margins and better cash flow
You can do it from anywhere
Scale-ability
There is always a market
Drawbacks
Establishing a fully functional website complete with SEO and other necessities is harder, especially when you must do it en masse
  Create an affiliate program
  Once you have established your online shop or put some content on offer (whatever you choose to sell on your website) you can establish an affiliate program and enlist affiliates to help you market your products out there for a commission.
The idea of having your own affiliates spreading the word about you on their platforms is one of the best ways of building the fame of your site and boosting the sales of you are running an e-commerce site. It is a win-win situation: you get a lot of traffic from the referred visitors and boost your sales while the affiliates get their commission plus recognition for identifying with your brand (if it’s a brand of authority in your industry).
If you are using WordPress, there are plenty of plugins that you can utilize to achieve any affiliate marketing goal.
Benefits of having your own affiliate program
It cuts the marketing expenses because the affiliates will do most of the marketing
You are almost certain that every lead will end up making a sale
It is straightforward and dependable
Easy to manage and control
Drawbacks
You will always be pushed to offer higher commissions even when your earnings are low
  Build an amazon store page
  Ponder over this: Amazon, the largest e-Commerce company on the planet, sells almost everything your audience could ever want. Doesn’t it make sense to add an Amazon page on your website instead of creating your own online store that you might have a hard time building?
If you think about it, you will quickly realize how cost effective and rewarding it is to have Amazon on your page. Also (to my surprise), many bloggers and website owners don’t seem to be too much into this venture.
It is important to note that this approach works very much like Amazon’s own affiliate program – you get a commission when the member of your audience proceeds to Amazon to complete a purchase. The commission can be anything between 1 percent and 10 percent. It is still a great way of monetizing your site.
Now those were the top ways of monetizing your website. Let’s look at other not-very-well-known ways of making money. They aren’t minor ways. Rather, they are ways that deserve special mention:
Selling text-link ads
You can sell text-link ads to websites that need them most. We don’t really recommend this, but it is worth trying out. The reason why we don’t root for this way of making money is that Google Terms of Service are strongly against it. So, if you get involved in this kind of business, you risk being penalized, and it could be for life!
Set up “infolinks”
If you are not a huge fan of Google AdSense, you can opt for infolinks. Infolinks is a handy online advertising platform enabling website owners and bloggers to display relevant ads on their sites and earn money. As you can see, it works very much like Google AdSense. Sounds interesting, Huh! Here is how to set up infolinks on your site. There is only one major drawback about infolinks: their payouts are remarkably small compared to Google AdSense, but it’s worth trying out.
Use monetization widgets
A web widget can be in the form of an application or a web page. In this specific case, you will use web page-based widgets. Web widgets are normally independent from the host web page and have very limited interaction with the rest of the web page.
How do you make money from widgets? Well, they work in a way similar to Google AdSense – they display relevant ads on your site in exchange of money. There is a guide to it, check it out.
Establish RSS feed ads
  RSS feed ads work exactly the way they sound: you allow RSS feeds on your site along with ads. The best part about RSS feeds ads is that you can choose to use partial or full RSS feeds, whichever suits your needs. Another advantage is that they boost your page views while earning income. Which option you choose, RSS Feeds ads are split into two groups: pay-per-click (very much like Google AdSense) and traffic-based ads. There is a guide on how to get started at Blogging Basics.
Create a business page/paid directory.
Business directories keep popping up on the web like mushrooms and that could mean one thing: they are minting money for their owner. A business directly is any site with a list of businesses in a given niche depicting their location, size, and activity.
At the start, you comb sources to get information about these businesses and present them in a presentable way on your site. But as time goes on, and you build reputation, new business will seek your assistance in listing their information on your directory. Here is an example of some of the biggest business directories on the web (in no particular order):
BOTW (Best of the Web) – BOTW has been here since 1994 and now has over 16 million businesses in its database
About Us – About Us enjoys about 150,000 visits every month
Google My Business – A business directory run by the owner of the most popular search engine on the planet is destined to be a monstrous directory.
Do you wish to venture into this line of business? Here is a step by step guide on how to get started.
Offer writing gigs
  What about writing for other bloggers at a fee? Yes, many bloggers and site owners don’t have a lot of time to spend on writing every article uploaded on their sites/blogs. So, if you are good in gaming, for example, and you run a website dedicated to posting gaming updates, you can start a content creation service which can benefit other time strapped bloggers.
There isn’t a guide or set of tricks to help you make it in this method of monetizing your website.
Sell podcasts
It is easier to sell podcasts today than it has ever been, thanks to services like Apple’s iTunes. But there is a better approach to it: Why not take full advantage of your website’s influence in a certain niche and start selling podcasts to your readers/listeners. If you have paid close attention to the activities of most political commentators in the United States, you might have noticed that most of them no longer include iTunes’ links on their YouTube or social media pages. Rather, they direct you to their podcasts on their own websites. This approach can be employed by pretty anyone with podcasts to offer.
The benefits of selling podcasts on your website are numerous, including the fact that no one will deduct part of your pay for hosting them on their service for you.
Create videos for YouTube
  Let’s be honest, no one on the internet monetizes videos better than YouTube. The social network lets you earn money on views received by your videos. The minimum payout is $100. Before a channel qualifies for YouTube Partner Program, it must receive 10,000 views or more.
Things get a little complicated when you throw ads in the mix. If a video accumulates 1 million views, for instance, but no one clicks on any of the pay-per-click adverts displayed on that video, you earn nothing. Google has a rather intricate way of awarding content creators for videos they upload on the platform.
But you’re trying to make money from your website, right? How does YouTube get involved? If you have been producing a lot of video content on your site lately, you might have noticed that it is hard to increase your audience from your website. You need to move those videos to YouTube – which is the world’s largest video repository – and include a link to your website. You would have killed two birds with one stone: you would have created a way of boosting traffic to your website while getting paid for your videos at the same time. We already know of a dozen ways web traffic can be monetized.
Be a consultant
Picture a situation where you are so good at Information Technology that your site is entirely based on providing information about the latest releases and emerging trends in the world of technology. How do you monetize such a website further? You can start offering consultancy services to your readers and visitors right on your website or blog.
The goal is to make the most out of your expertise in your field. If you are looking for inspiration, look at what Neil Patel is doing and how he has established his site not only to be a one-stop source of every bit of information you need about SEO (search engine optimization) but to be a reputable SEO consultancy platform as well. And there is a list of proven tricks to make it big in the world of web-based consultancy services, check the out.
Add a forum (membership-based forum)
  If you are using a WordPress site, you can benefit from a range of plugins that can make the whole process as easy as ABC, bbPress is one of those Plugins. It doesn’t mean creating a forum on regular websites is hard, Website Toolbox leads you through three simple steps to make one.
Use content lockers
Instead of creating great content and requiring your readers to subscribe to access it, you can choose to introduce content lockers where the reader will only pay for certain content by unlocking it with payments. The best part is that you can switch it around to take various forms. For instance, instead of paying to see the content, you can require the reader to view a certain advert.
There is a YouTube tutorial on how to set up content lockers. The approach may be a little different on a WordPress site, here is the guide.
Affiliate marketing
If you are new to this concept of spinning some cash, just know it entails promoting someone else’s stuff on your website and if, hopefully, someone sees your promotion and responds to it by buying the item, the guy you’re promoting for will award you an agreed commission.
So, this is how it works: You begin by signing up with a third-party affiliate program (the likes of CJ Affiliate and Amazon Affiliate Program) or the affiliate program established by the entity (also known as the merchant) whose products you wish to promote. Either way, you will be given a referral link and/or banners which you will display somewhere on your website while promoting the merchant’s products. The whole concept is built on whether someone in your audience will be pleased with your promotion or the product you are promoting and decide to give it a try.
When someone in your audience clicks on the banner or referral link, they are led to e a page where they can see the merchant’s product and make a purchase. It doesn’t always entail buying a product; it can be a download or completing registering for something. Whichever intent, you, as an affiliate marketer, will earn a commission if the person you referred completes the process as required.
Where can you find merchandise to promote? There are as many options as there is sand in the sea, but here are the three most popular affiliate programs:
Rakuten Linkshare
Rakuten Linkshare has been around for a long time. Its popularity is increasing every passing day. If you are an avid fan of football, you’ve probably discovered that Rakuten is the jersey sponsor of Barcelona F.C, an indication of popularity. Rakuten has managed to ward off competition for many years it has been around by providing features that are distinctive and user-friendly. Such features include rotating different banner adverts for particular products, ease of administering and optimizing among others. But what makes Rakuten be one of the best affiliate marketing programs is its flexibility in promoting offers.
Clickbank
Clickbank is yet another remarkable affiliate marketing program. Its popularity has been fueled by its specialization in digital products. The program has been around for a long time as well, earning a great reputation in marketing eBooks and other digital products. One of the impressive things worth mentioning about Clickbank is the fact that you can gain unrestricted access to millions of eBooks immediately after finishing the sign-up process. No one else does that in the sphere of affiliate marketing. Marketers make a killing on Clickbank with its sumptuous commissions. The payment process is fast, marketers have the freedom to sell what they like and the site itself is stunningly easy to navigate and use.
Amazon associates
It has been dubbed the king of affiliate marketing due to its huge number of sellers (over 1.5 million sellers). This immense number of sellers makes this program the best place for beginners to start. It isn’t entirely a newbie paradise. Experienced marketers are impressed with the atmosphere created by the program to develop custom tools and web pages that have APIs. Amazon Affiliates have a stunning one million partner merchants! No other program has ever come close to having such many partners. The program is also very flexible and easy to use.
Therefore, if you don’t start well, you may end up messing up various things. There are resources you need to have while embarking on building affiliate marketing websites.
1. Training and inspirations
There is nothing wrong with creating an affiliate marketing website from scratch. However, you need sufficient training to create a really successful affiliate marketing website. Having the inspiration to push the idea is also an added advantage. Starting an affiliate marketing website is overwhelming.
2. Video Tutorials on Affiliate Marketing
Basic education about affiliate marketing isn’t enough for building a successful affiliate marketing website. Video tutorials about affiliate marketing can be of great help especially when you have basic affiliate marketing knowledge but you need to improve it and kick-start affiliate marketing career. Affiliorama is the best place you can get affiliate marketing tutorials.
3. Email platform
Your website needs to be linked to a Google email platform. Although not every strategy in online marketing involves the use of email, having a reliable email strategy can have a remarkable impact on the sales. Some of the reputable email platforms to choose from include MailChimp, GetResponse, aWeber e.t.c
4. Backlinks
Backlinks are a valuable resource that should never miss on your affiliate marketing website. They serve to link your web page to other websites hence boosting the traffic and your website’s outreach. Backlinks help popularize your website within the circles of a niche of your choice. For instance, if you are selling fish, you need backlinks linking to websites that sell or talk about fried chips, chili and anything else that can go together with fried fish.
Google Webmaster Tools
  Search engines are a great source of traffic for blogs and websites. It is good to know how search engines view your affiliate marketing website. One tool to use is Google Webmaster. Actually, Google Webmaster is a group of tools that help users see how their websites are crawled, how the pages are indexed and the performance of keywords. Google Webmaster can also identify if there is a malfunction in your website.
Benefits of joining an affiliate program
If you are good at marketing, or if your site is sort of an authority in a given niche – say, in golfing, fashion, or motor sports – and you have a significant following, you stand to make an insane amount of money
It is based on performance, not the investments you commit
Affiliates can increase your reputation
Affiliates can also increase the traffic on your website while increasing sales
Drawbacks
You will find that some program offers meagre commissions that makes the whole thing to be unmotivating
You don’t have any control on what the affiliate program chooses to do
You have no say on your competitors
Revenues are not guaranteed
Affiliate links can be hijacked
  Link your site on craigslist and sell skills and possessions
If you can’t design a website for an individual then probably you have an old toaster you need to sell on the craigslist. Many graduates are offering their skills online as consultants of almost anything you can mention depending on their expertise. Additionally, you can sell items you no longer use on the Craigslist and earn some quick bucks. Craigslist has over 40 million users. Better yet, every large city has a special section reserved for it. The website is highly convenient to anyone with a drive to make money.
Link your site to ebay and auction products
eBay is the best site you can use to auction stuff that you no longer use. Clothes, cars, electronics…you name it, eBay can auction it. You can choose between the options of straight auction or flat rate. To compensate for the service, eBay takes a tiny amount of what you earn and that’s just Okay. You need to know that eBay thrives on an elaborate feedback system which requires you to build a great reputation as a trustworthy seller.
Selling homemade items
You can sell handmade items on your site. You can also collaborate with sites like Etsy to promote your homemade merchandise. Etsy is a platform where crafts and other homemade creations are availed for sale. It can be anything you made at home: beautiful candles, soap with your signature fragrance, hand knitted scarves, homemade jewelry, essential oils, postcards, art prints, crocheted small animals etc. To send sales in the roof, you need to charge your clients reasonable top keep them coming back for more knitted kitten clothes. Just like eBay, Etsy will ask for a small percentage of your earnings.
Publishing eBooks
Have you ever thought or offering your book for sale on your website or in conjunction with KDL (Kindle Direct Publishing) This is the best opportunity for men to capitalize on their previous writing works that have never been finished. If you have an unpublished book and you believe you are not in a so nice financial situation, quickly dash to Amazon, publish it, set the best price you can think of and put it up for sale. You need to promote your eBooks widely on social media to expose them to most people. Consider publishing a book within your area of expertise and not just a fictional story.
Taking online surveys
You can make your site to be part of crowds pooled by consumer companies to conduct online surveys and get consumer feedback. For just 6 hours, you can earn up to $50 which is channeled in your Paypal account. Some of the websites offering survey services include My Survey, iPoll, and Pinecone.
0 notes
livehealthynewsusa · 3 years
Text
Dealing with discrimination? Mental health suffering? Let’s make the time to talk.
When I recently read the news about tennis star Naomi Osaka’s struggle with mental health problems, particularly her depression, I felt immediately empathetic.
I bet we can all empathize a little now, especially during this ongoing pandemic. However, there is an additional dimension related to being visibly not Japanese in Japan – or a colored person in a predominantly white society in the West – that can make the struggle a little more intense.
I’m sure the situation is similar for other people who are discriminated against, be they women, people who identify as LBGTQIA, people with a disability, or people in more than one of these categories.
To get a different perspective, I decided to turn to Mark Bookman, a colleague of mine. From Tokyo University, he is a historian of disability policy and related social movements in Japan and works as an accessibility advisor and works with government agencies and companies around the world on projects related to disability inclusion. Mark has a rare degenerative neuromuscular disease similar to ALS (also known as Lou Gehrig’s disease) that affects only six people in the world. Therefore, he uses a motorized power wheelchair for most of his daily activities.
Two weeks ago, Tokyo governor Yuriko Koike was hospitalized due to fatigue. Mark and I thought this would be a good time to do a quick mental health check by talking about our experience as non-Japanese residents investing in this country. We’re also pretty sure many readers can relate to it.
Baye McNeil: My experience is that discrimination is natural to a conspicuously strange looking person living in Japan. While it’s true that cops don’t routinely open fire on black people here, we are exposed to an abundance of annoying micro-aggressions that look like paper cutouts. These are emotional and psychological assaults that, if pointed out, can sometimes trigger reactions from both Japanese and non-Japanese telling you to “man up” or “make hard”. This can cause you to remain silent about these things for fear of appearing oversensitive and being accused of playing the victim card. I say “accused” because when “victim” is used that way it kind of comes off as an insult. How is your experience of discrimination in Japan, Mark?
Face to Face: When it comes to dealing with people with a disability, sometimes a person will interact with a caretaker rather than the disabled person themselves. This can lead to misunderstandings. | GETTY IMAGES
Mark Buchmann: My experience of discrimination in Japan as a disabled person is in some ways similar to yours. Nobody has used ableist insults against me, explicitly or deliberately, but I often run into barriers in the built environment that make life much harder. For example, public toilets are not set up for my large overseas wheelchair, making it difficult for me to be too far from my home. Lack of availability has kept me from many places and from telling others about my needs, so people often make wrong assumptions about what they can do to help me when I need support.
I particularly remember one incident where I called ahead to ask if a restaurant was accessible. The owner said the place has accommodated wheelchair users in the past so I went for it. When I got there, I saw that there was a step in front of the entrance that my chair couldn’t climb. The owner insisted he could lift my wheelchair over the step, even though it weighs 300 kilograms.
I knew if I turned down his offer it would spark a scene and get others in the area to interfere. Since I didn’t want to bother explaining to so many viewers why they couldn’t help the owner, I decided to say, “I’m not sure this is a good idea.” Before finishing my testimony, I tugged however, the owner is already at my chair. I’m sure he meant well and tried to help. Even so, he injured my arm, and the psychological damage was worse: I had no easy way to prevent such incidents because I couldn’t correct misunderstandings like the owners’ at the moment.
Baye: What should he have done?
Mark: He could have just asked me directly about my needs. It is possible to do this in a courteous manner that helps understand the situation. I know this goes against the Japanese concept of omotenashi where the host has to anticipate a customer’s needs, but if just had a chat with me I could have explained why pulling on my chair would endanger both of us, and we could have worked together to find an alternative solution to the problem of accessibility.
In addition, a person often interacts with an attending caregiver instead of the person with the disability. This not only dehumanizes the disabled person, but also leads to misunderstandings, as the caregivers only know so much about the people they care for.
Baye: I recently interviewed Kinota Braithwaite, a black Canadian who learned that his 9 year old biracial “Blackanese” daughter – a future Naomi Osaka – was bullied in her elementary school here in Japan. No physical attacks, just persistent efforts to stigmatize them and stigmatize their skin color, which bothered them and harmed their mental well-being.
So he wrote a children’s book called “Mio The Beautiful,” which was written in Japanese and English about his daughter’s experience of discrimination and was intended to be used as a teaching tool. Not everyone can write a book, but I mention it because this was a loving father who did something positive to help his daughter and the welfare of the wider community.
I myself have regular seizures of self-imposed seclusion to keep myself mental. During this “sabetsu (discrimination) sabbatical” I only venture to go public if it is absolutely necessary.
There are very few foreigner-friendly rooms that are “safe” from the psychological onslaught of foreigners. A man who refuses to get on an elevator with me, a woman who clutches her wallet tighter than she notices me, or a salesman who tells me they can’t speak English because I speak perfectly understandable Japanese speak to them – that can be annoying, it can trigger me. So, I prescribed these relaxing sabbaticals to myself to take a break. And more recently, those breaks have included my Japanese wife and our two adopted kittens. It’s amazing what a little time with some kittens can do for the soul.
Mark: I listen to you for this idea of ​​friendly, safe places. We need them to talk to others about the physical and social barriers we face that cause significant difficulties.
Social media platforms like Facebook and Twitter can offer some relief and solidarity, but there are many people who are unable to use these channels due to stigma, shame, or a lack of resources. We need to remember this fact and do our best to create multiple and different places where we can hear from data subjects about their experiences of discrimination. Then we can learn more about the needs of these people and start building a more inclusive society.
Personally, I’ve found solace in private online settings that I’ve made with friends. We play games, watch videos, listen to music and discuss problems we face every day with the aim of finding solutions. We try not to judge and pool our resources to make everyone happy. Sometimes it works, sometimes it doesn’t. But with community members from all over the world, we know someone will always be there, no matter what time zone.
Baye: I talked about this with my friend Selena Hoy from TELL. TELL is a certified mental health nonprofit that serves the international community in Japan and acts as a safe space for many people. She told me: “If you are overwhelmed, you are not alone. And you don’t have to fight alone. Talk to someone – a friend, family member, colleague … or if you prefer to keep it private, you can always call the lifeline, which is anonymous and non-judgmental. “
If you or someone you know is in crisis and needs help, resources are available. In an emergency in Japan, please call 119 for immediate assistance. The TELL Lifeline is available to anyone who needs free and anonymous advice at 03-5774-0992. For those in other countries, visit the International Suicide Hotlines for a detailed list of resources and assistance.
In a time of misinformation and too much information, Quality journalism is more important than ever. By subscribing you can help us get the story right.
SUBSCRIBE NOW
PHOTO GALLERY (CLICK TO ENLARGE)
Tumblr media Tumblr media
source https://livehealthynews.com/dealing-with-discrimination-mental-health-suffering-lets-make-the-time-to-talk/
0 notes
wickedbananas · 6 years
Text
Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics
Posted by Carlosesal
There is no doubt that Google Analytics is one of the most important tools you could use to understand your users' behavior and measure the performance of your site. There's a reason it's used by millions across the world.
But despite being such an essential part of the decision-making process for many businesses and blogs, I often find sites (of all sizes) that do little or no data filtering after installing the tracking code, which is a huge mistake.
Think of a Google Analytics property without filtered data as one of those styrofoam cakes with edible parts. It may seem genuine from the top, and it may even feel right when you cut a slice, but as you go deeper and deeper you find that much of it is artificial.
If you're one of those that haven’t properly configured their Google Analytics and you only pay attention to the summary reports, you probably won't notice that there's all sorts of bogus information mixed in with your real user data.
And as a consequence, you won't realize that your efforts are being wasted on analyzing data that doesn't represent the actual performance of your site.
To make sure you're getting only the real ingredients and prevent you from eating that slice of styrofoam, I'll show you how to use the tools that GA provides to eliminate all the artificial excess that inflates your reports and corrupts your data.
Common Google Analytics threats
As most of the people I've worked with know, I’ve always been obsessed with the accuracy of data, mainly because as a marketer/analyst there's nothing worse than realizing that you’ve made a wrong decision because your data wasn’t accurate. That’s why I’m continually exploring new ways of improving it.
As a result of that research, I wrote my first Moz post about the importance of filtering in Analytics, specifically about ghost spam, which was a significant problem at that time and still is (although to a lesser extent).
While the methods described there are still quite useful, I’ve since been researching solutions for other types of Google Analytics spam and a few other threats that might not be as annoying, but that are equally or even more harmful to your Analytics.
Let’s review, one by one.
Ghosts, crawlers, and other types of spam
The GA team has done a pretty good job handling ghost spam. The amount of it has been dramatically reduced over the last year, compared to the outbreak in 2015/2017.
However, the millions of current users and the thousands of new, unaware users that join every day, plus the majority's curiosity to discover why someone is linking to their site, make Google Analytics too attractive a target for the spammers to just leave it alone.
The same logic can be applied to any widely used tool: no matter what security measures it has, there will always be people trying to abuse its reach for their own interest. Thus, it's wise to add an extra security layer.
Take, for example, the most popular CMS: Wordpress. Despite having some built-in security measures, if you don't take additional steps to protect it (like setting a strong username and password or installing a security plugin), you run the risk of being hacked.
The same happens to Google Analytics, but instead of plugins, you use filters to protect it.
In which reports can you look for spam?
Spam traffic will usually show as a Referral, but it can appear in any part of your reports, even in unsuspecting places like a language or page title.
Sometimes spammers will try to fool by using misleading URLs that are very similar to known websites, or they may try to get your attention by using unusual characters and emojis in the source name.
Independently of the type of spam, there are 3 things you always should do when you think you found one in your reports:
Never visit the suspicious URL. Most of the time they'll try to sell you something or promote their service, but some spammers might have some malicious scripts on their site.
This goes without saying, but never install scripts from unknown sites; if for some reason you did, remove it immediately and scan your site for malware.
Filter out the spam in your Google Analytics to keep your data clean (more on that below).
If you're not sure whether an entry on your report is real, try searching for the URL in quotes (“example.com”). Your browser won’t open the site, but instead will show you the search results; if it is spam, you'll usually see posts or forums complaining about it.
If you still can’t find information about that particular entry, give me a shout — I might have some knowledge for you.
Bot traffic
A bot is a piece of software that runs automated scripts over the Internet for different purposes.
There are all kinds of bots. Some have good intentions, like the bots used to check copyrighted content or the ones that index your site for search engines, and others not so much, like the ones scraping your content to clone it.
2016 bot traffic report. Source: Incapsula
In either case, this type of traffic is not useful for your reporting and might be even more damaging than spam both because of the amount and because it's harder to identify (and therefore to filter it out).
It's worth mentioning that bots can be blocked from your server to stop them from accessing your site completely, but this usually involves editing sensible files that require high technical knowledge, and as I said before, there are good bots too.
So, unless you're receiving a direct attack that's skewing your resources, I recommend you just filter them in Google Analytics.
In which reports can you look for bot traffic?
Bots will usually show as Direct traffic in Google Analytics, so you'll need to look for patterns in other dimensions to be able to filter it out. For example, large companies that use bots to navigate the Internet will usually have a unique service provider.
I’ll go into more detail on this below.
Internal traffic
Most users get worried and anxious about spam, which is normal — nobody likes weird URLs showing up in their reports. However, spam isn't the biggest threat to your Google Analytics.
You are!
The traffic generated by people (and bots) working on the site is often overlooked despite the huge negative impact it has. The main reason it's so damaging is that in contrast to spam, internal traffic is difficult to identify once it hits your Analytics, and it can easily get mixed in with your real user data.
There are different types of internal traffic and different ways of dealing with it.
Direct internal traffic
Testers, developers, marketing team, support, outsourcing... the list goes on. Any member of the team that visits the company website or blog for any purpose could be contributing.
In which reports can you look for direct internal traffic?
Unless your company uses a private ISP domain, this traffic is tough to identify once it hits you, and will usually show as Direct in Google Analytics.
Third-party sites/tools
This type of internal traffic includes traffic generated directly by you or your team when using tools to work on the site; for example, management tools like Trello or Asana,
It also considers traffic coming from bots doing automatic work for you; for example, services used to monitor the performance of your site, like Pingdom or GTmetrix.
Some types of tools you should consider:
Project management
Social media management
Performance/uptime monitoring services
SEO tools
In which reports can you look for internal third-party tools traffic?
This traffic will usually show as Referral in Google Analytics.
Development/staging environments
Some websites use a test environment to make changes before applying them to the main site. Normally, these staging environments have the same tracking code as the production site, so if you don’t filter it out, all the testing will be recorded in Google Analytics.
In which reports can you look for development/staging environments?
This traffic will usually show as Direct in Google Analytics, but you can find it under its own hostname (more on this later).
Web archive sites and cache services
Archive sites like the Wayback Machine offer historical views of websites. The reason you can see those visits on your Analytics — even if they are not hosted on your site — is that the tracking code was installed on your site when the Wayback Machine bot copied your content to its archive.
One thing is for certain: when someone goes to check how your site looked in 2015, they don't have any intention of buying anything from your site — they're simply doing it out of curiosity, so this traffic is not useful.
In which reports can you look for traffic from web archive sites and cache services?
You can also identify this traffic on the hostname report.
A basic understanding of filters
The solutions described below use Google Analytics filters, so to avoid problems and confusion, you'll need some basic understanding of how they work and check some prerequisites.
Things to consider before using filters:
1. Create an unfiltered view.
Before you do anything, it's highly recommendable to make an unfiltered view; it will help you track the efficacy of your filters. Plus, it works as a backup in case something goes wrong.
2. Make sure you have the correct permissions.
You will need edit permissions at the account level to create filters; edit permissions at view or property level won’t work.
3. Filters don’t work retroactively.
In GA, aggregated historical data can’t be deleted, at least not permanently. That's why the sooner you apply the filters to your data, the better.
4. The changes made by filters are permanent!
If your filter is not correctly configured because you didn’t enter the correct expression (missing relevant entries, a typo, an extra space, etc.), you run the risk of losing valuable data FOREVER; there is no way of recovering filtered data.
But don’t worry — if you follow the recommendations below, you shouldn’t have a problem.
5. Wait for it.
Most of the time you can see the effect of the filter within minutes or even seconds after applying it; however, officially it can take up to twenty-four hours, so be patient.
Types of filters
There are two main types of filters: predefined and custom.
Predefined filters are very limited, so I rarely use them. I prefer to use the custom ones because they allow regular expressions, which makes them a lot more flexible.
Within the custom filters, there are five types: exclude, include, lowercase/uppercase, search and replace, and advanced.
Here we will use the first two: exclude and include. We'll save the rest for another occasion.
Essentials of regular expressions
If you already know how to work with regular expressions, you can jump to the next section.
REGEX (short for regular expressions) are text strings prepared to match patterns with the use of some special characters. These characters help match multiple entries in a single filter.
Don’t worry if you don’t know anything about them. We will use only the basics, and for some filters, you will just have to COPY-PASTE the expressions I pre-built.
REGEX special characters
There are many special characters in REGEX, but for basic GA expressions we can focus on three:
^ The caret: used to indicate the beginning of a pattern,
$ The dollar sign: used to indicate the end of a pattern,
| The pipe or bar: means "OR," and it is used to indicate that you are starting a new pattern.
When using the pipe character, you should never ever:
Put it at the beginning of the expression,
Put it at the end of the expression,
Put 2 or more together.
Any of those will mess up your filter and probably your Analytics.
A simple example of REGEX usage
Let's say I go to a restaurant that has an automatic machine that makes fruit salad, and to choose the fruit, you should use regular xxpressions.
This super machine has the following fruits to choose from: strawberry, orange, blueberry, apple, pineapple, and watermelon.
To make a salad with my favorite fruits (strawberry, blueberry, apple, and watermelon), I have to create a REGEX that matches all of them. Easy! Since the pipe character “|” means OR I could do this:
REGEX 1: strawberry|blueberry|apple|watermelon
The problem with that expression is that REGEX also considers partial matches, and since pineapple also contains “apple,” it would be selected as well... and I don’t like pineapple!
To avoid that, I can use the other two special characters I mentioned before to make an exact match for apple. The caret “^” (begins here) and the dollar sign “$” (ends here). It will look like this:
REGEX 2: strawberry|blueberry|^apple$|watermelon
The expression will select precisely the fruits I want.
But let’s say for demonstration's sake that the fewer characters you use, the cheaper the salad will be. To optimize the expression, I can use the ability for partial matches in REGEX.
Since strawberry and blueberry both contain "berry," and no other fruit in the list does, I can rewrite my expression like this:
Optimized REGEX: berry|^apple$|watermelon
That’s it — now I can get my fruit salad with the right ingredients, and at a lower price.
3 ways of testing your filter expression
As I mentioned before, filter changes are permanent, so you have to make sure your filters and REGEX are correct. There are 3 ways of testing them:
Right from the filter window; just click on “Verify this filter,” quick and easy. However, it's not the most accurate since it only takes a small sample of data.
Using an online REGEX tester; very accurate and colorful, you can also learn a lot from these, since they show you exactly the matching parts and give you a brief explanation of why.
Using an in-table temporary filter in GA; you can test your filter against all your historical data. This is the most precise way of making sure you don’t miss anything.
If you're doing a simple filter or you have plenty of experience, you can use the built-in filter verification. However, if you want to be 100% sure that your REGEX is ok, I recommend you build the expression on the online tester and then recheck it using an in-table filter.
Quick REGEX challenge
Here's a small exercise to get you started. Go to this premade example with the optimized expression from the fruit salad case and test the first 2 REGEX I made. You'll see live how the expressions impact the list.
Now make your own expression to pay as little as possible for the salad.
Remember:
We only want strawberry, blueberry, apple, and watermelon;
The fewer characters you use, the less you pay;
You can do small partial matches, as long as they don’t include the forbidden fruits.
Tip: You can do it with as few as 6 characters.
Now that you know the basics of REGEX, we can continue with the filters below. But I encourage you to put “learn more about REGEX” on your to-do list — they can be incredibly useful not only for GA, but for many tools that allow them.
How to create filters to stop spam, bots, and internal traffic in Google Analytics
Back to our main event: the filters!
Where to start: To avoid being repetitive when describing the filters below, here are the standard steps you need to follow to create them:
Go to the admin section in your Google Analytics (the gear icon at the bottom left corner),
Under the View column (master view), click the button “Filters” (don’t click on “All filters“ in the Account column):
Click the red button “+Add Filter” (if you don’t see it or you can only apply/remove already created filters, then you don’t have edit permissions at the account level. Ask your admin to create them or give you the permissions.):
Then follow the specific configuration for each of the filters below.
The filter window is your best partner for improving the quality of your Analytics data, so it will be a good idea to get familiar with it.
Valid hostname filter (ghost spam, dev environments)
Prevents traffic from:
Ghost spam
Development hostnames
Scraping sites
Cache and archive sites
This filter may be the single most effective solution against spam. In contrast with other commonly shared solutions, the hostname filter is preventative, and it rarely needs to be updated.
Ghost spam earns its name because it never really visits your site. It’s sent directly to the Google Analytics servers using a feature called Measurement Protocol, a tool that under normal circumstances allows tracking from devices that you wouldn’t imagine that could be traced, like coffee machines or refrigerators.
Real users pass through your server, then the data is sent to GA; hence it leaves valid information. Ghost spam is sent directly to GA servers, without knowing your site URL; therefore all data left is fake. Source: carloseo.com
The spammer abuses this feature to simulate visits to your site, most likely using automated scripts to send traffic to randomly generated tracking codes (UA-0000000-1).
Since these hits are random, the spammers don't know who they're hitting; for that reason ghost spam will always leave a fake or (not set) host. Using that logic, by creating a filter that only includes valid hostnames all ghost spam will be left out.
Where to find your hostnames
Now here comes the “tricky” part. To create this filter, you will need, to make a list of your valid hostnames.
A list of what!?
Essentially, a hostname is any place where your GA tracking code is present. You can get this information from the hostname report:
Go to Audience > Select Network > At the top of the table change the primary dimension to Hostname.
If your Analytics is active, you should see at least one: your domain name. If you see more, scan through them and make a list of all the ones that are valid for you.
Types of hostname you can find
The good ones:
Type
Example
Your domain and subdomains
yourdomain.com
Tools connected to your Analytics
YouTube, MailChimp
Payment gateways
Shopify, booking systems
Translation services
Google Translate
Mobile speed-up services
Google weblight
The bad ones (by bad, I mean not useful for your reports):
Type
Example/Description
Staging/development environments
staging.yourdomain.com
Internet archive sites
web.archive.org
Scraping sites that don’t bother to trim the content
The URL of the scraper
Spam
Most of the time they will show their URL, but sometimes they may use the name of a known website to try to fool you. If you see a URL that you don’t recognize, just think, “do I manage it?” If the answer is no, then it isn't your hostname.
(not set) hostname
It usually comes from spam. On rare occasions it's related to tracking code issues.
Below is an example of my hostname report. From the unfiltered view, of course, the master view is squeaky clean.
Now with the list of your good hostnames, make a regular expression. If you only have your domain, then that is your expression; if you have more, create an expression with all of them as we did in the fruit salad example:
Hostname REGEX (example) yourdomain.com|hostname2|hostname3|hostname4
Important! You cannot create more than one “Include hostname filter”; if you do, you will exclude all data. So try to fit all your hostnames into one expression (you have 255 characters).
The “valid hostname filter” configuration:
Filter Name: Include valid hostnames
Filter Type: Custom > Include
Filter Field: Hostname
Filter Pattern: [hostname REGEX you created]
Campaign source filter (Crawler spam, internal sources)
Prevents traffic from:
Crawler spam
Internal third-party tools (Trello, Asana, Pingdom)
Important note: Even if these hits are shown as a referral, the field you should use in the filter is “Campaign source” — the field “Referral” won’t work.
Filter for crawler spam
The second most common type of spam is crawler. They also pretend to be a valid visit by leaving a fake source URL, but in contrast with ghost spam, these do access your site. Therefore, they leave a correct hostname.
You will need to create an expression the same way as the hostname filter, but this time, you will put together the source/URLs of the spammy traffic. The difference is that you can create multiple exclude filters.
Crawler REGEX (example) spam1|spam2|spam3|spam4
Crawler REGEX (pre-built) As I promised, here are latest pre-built crawler expressions that you just need to copy/paste.
The “crawler spam filter” configuration:
Filter Name: Exclude crawler spam 1
Filter Type: Custom > Exclude
Filter Field: Campaign source
Filter Pattern: [crawler REGEX]
Filter for internal third-party tools
Although you can combine your crawler spam filter with internal third-party tools, I like to have them separated, to keep them organized and more accessible for updates.
The “internal tools filter” configuration:
Filter Name: Exclude internal tool sources
Filter Pattern: [tool source REGEX]
Internal Tools REGEX (example) trello|asana|redmine
In case, that one of the tools that you use internally also sends you traffic from real visitors, don’t filter it. Instead, use the “Exclude Internal URL Query” below.
For example, I use Trello, but since I share analytics guides on my site, some people link them from their Trello accounts.
Filters for language spam and other types of spam
The previous two filters will stop most of the spam; however, some spammers use different methods to bypass the previous solutions.
For example, they try to confuse you by showing one of your valid hostnames combined with a well-known source like Apple, Google, or Moz. Even my site has been a target (not saying that everyone knows my site; it just looks like the spammers don’t agree with my guides).
However, even if the source and host look fine, the spammer injects their message in another part of your reports like the keyword, page title, and even as a language.
In those cases, you will have to take the dimension/report where you find the spam and choose that name in the filter. It's important to consider that the name of the report doesn't always match the name in the filter field:
Report name
Filter field
Language
Language settings
Referral
Campaign source
Organic Keyword
Search term
Service Provider
ISP Organization
Network Domain
ISP Domain
Here are a couple of examples.
The “language spam/bot filter” configuration:
Filter Name: Exclude language spam
Filter Type: Custom > Exclude
Filter Field: Language settings
Filter Pattern: [Language REGEX]
Language Spam REGEX (Prebuilt) \s[^\s]*\s|.{15,}|\.|,|^c$
The expression above excludes fake languages that don't meet the required format. For example, take these weird messages appearing instead of regular languages like en-us or es-es:
Examples of language spam
The organic/keyword spam filter configuration:
Filter Name: Exclude organic spam
Filter Type: Custom > Exclude
Filter Field: Search term
Filter Pattern: [keyword REGEX]
Filters for direct bot traffic
Bot traffic is a little trickier to filter because it doesn't leave a source like spam, but it can still be filtered with a bit of patience.
The first thing you should do is enable bot filtering. In my opinion, it should be enabled by default.
Go to the Admin section of your Analytics and click on View Settings. You will find the option “Exclude all hits from known bots and spiders” below the currency selector:
It would be wonderful if this would take care of every bot — a dream come true. However, there's a catch: the key here is the word “known.” This option only takes care of known bots included in the “IAB known bots and spiders list." That's a good start, but far from enough.
There are a lot of “unknown” bots out there that are not included in that list, so you'll have to play detective and search for patterns of direct bot traffic through different reports until you find something that can be safely filtered without risking your real user data.
To start your bot trail search, click on the Segment box at the top of any report, and select the “Direct traffic” segment.
Then navigate through different reports to see if you find anything suspicious.
Some reports to start with:
Service provider
Browser version
Network domain
Screen resolution
Flash version
Country/City
Signs of bot traffic
Although bots are hard to detect, there are some signals you can follow:
An unnatural increase of direct traffic
Old versions (browsers, OS, Flash)
They visit the home page only (usually represented by a slash “/” in GA)
Extreme metrics:
Bounce rate close to 100%,
Session time close to 0 seconds,
1 page per session,
100% new users.
Important! If you find traffic that checks off many of these signals, it is likely bot traffic. However, not all entries with these characteristics are bots, and not all bots match these patterns, so be cautious.
Perhaps the most useful report that has helped me identify bot traffic is the “Service Provider” report. Large corporations frequently use their own Internet service provider name.
I also have a pre-built expression for ISP bots, similar to the crawler expressions.
The bot ISP filter configuration:
Filter Name: Exclude bots by ISP
Filter Type: Custom > Exclude
Filter Field: ISP organization
Filter Pattern: [ISP provider REGEX]
ISP provider bots REGEX (prebuilt) hubspot|^google\sllc$|^google\sinc\.$|alibaba\.com\sllc|ovh\shosting\sinc\. Latest ISP bot expression
IP filter for internal traffic
We already covered different types of internal traffic, the one from test sites (with the hostname filter), and the one from third-party tools (with the campaign source filter).
Now it's time to look at the most common and damaging of all: the traffic generated directly by you or any member of your team while working on any task for the site.
To deal with this, the standard solution is to create a filter that excludes the public IP (not private) of all locations used to work on the site.
Examples of places/people that should be filtered
Office
Support
Home
Developers
Hotel
Coffee shop
Bar
Mall
Any place that is regularly used to work on your site
To find the public IP of the location you are working at, simply search for "my IP" in Google. You will see one of these versions:
IP version
Example
Short IPv4
1.23.45.678
Long IPv6
2001:0db8:85a3:0000:0000:8a2e:0370:7334
No matter which version you see, make a list with the IP of each place and put them together with a REGEX, the same way we did with other filters.
IP address expression: IP1|IP2|IP3|IP4 and so on.
The static IP filter configuration:
Filter Name: Exclude internal traffic (IP)
Filter Type: Custom > Exclude
Filter Field: IP Address
Filter Pattern: [The IP expression]
Cases when this filter won’t be optimal:
There are some cases in which the IP filter won’t be as efficient as it used to be:
You use IP anonymization (required by the GDPR regulation). When you anonymize the IP in GA, the last part of the IP is changed to 0. This means that if you have 1.23.45.678, GA will pass it as 1.23.45.0, so you need to put it like that in your filter. The problem is that you might be excluding other IPs that are not yours.
Your Internet provider changes your IP frequently (Dynamic IP). This has become a common issue lately, especially if you have the long version (IPv6).
Your team works from multiple locations. The way of working is changing — now, not all companies operate from a central office. It's often the case that some will work from home, others from the train, in a coffee shop, etc. You can still filter those places; however, maintaining the list of IPs to exclude can be a nightmare,
You or your team travel frequently. Similar to the previous scenario, if you or your team travels constantly, there's no way you can keep up with the IP filters.
If you check one or more of these scenarios, then this filter is not optimal for you; I recommend you to try the “Advanced internal URL query filter” below.
URL query filter for internal traffic
If there are dozens or hundreds of employees in the company, it's extremely difficult to exclude them when they're traveling, accessing the site from their personal locations, or mobile networks.
Here’s where the URL query comes to the rescue. To use this filter you just need to add a query parameter. I add “?internal" to any link your team uses to access your site:
Internal newsletters
Management tools (Trello, Redmine)
Emails to colleagues
Also works by directly adding it in the browser address bar
Basic internal URL query filter
The basic version of this solution is to create a filter to exclude any URL that contains the query “?internal”.
Filter Name: Exclude Internal Traffic (URL Query)
Filter Type: Custom > Exclude
Filter Field: Request URI
Filter Pattern: \?internal
This solution is perfect for instances were the user will most likely stay on the landing page, for example, when sending a newsletter to all employees to check a new post.
If the user will likely visit more than the landing page, then the subsequent pages will be recorded.
Advanced internal URL query filter
This solution is the champion of all internal traffic filters!
It’s a more comprehensive version of the previous solution and works by filtering internal traffic dynamically using Google Tag Manager, a GA custom dimension, and cookies.
Although this solution is a bit more complicated to set up, once it's in place:
It doesn’t need maintenance
Any team member can use it, no need to explain techy stuff
Can be used from any location
Can be used from any device, and any browser
To activate the filter, you just have to add the text “?internal” to any URL of the website.
That will insert a small cookie in the browser that will tell GA not to record the visits from that browser.
And the best of it is that the cookie will stay there for a year (unless it is manually removed), so the user doesn’t have to add “?internal” every time.
Bonus filter: Include only internal traffic
In some occasions, it's interesting to know the traffic generated internally by employees — maybe because you want to measure the success of an internal campaign or just because you're a curious person.
In that case, you should create an additional view, call it “Internal Traffic Only,” and use one of the internal filters above. Just one! Because if you have multiple include filters, the hit will need to match all of them to be counted.
If you configured the “Advanced internal URL query” filter, use that one. If not, choose one of the others.
The configuration is exactly the same — you only need to change “Exclude” for “Include.”
Cleaning historical data
The filters will prevent future hits from junk traffic.
But what about past affected data?
I know I told you that deleting aggregated historical data is not possible in GA. However, there's still a way to temporarily clean up at least some of the nasty traffic that has already polluted your reports.
For this, we'll use an advanced segment (a subset of your Analytics data). There are built-in segments like “Organic” or “Mobile,” but you can also build one using your own set of rules.
To clean our historical data, we will build a segment using all the expressions from the filters above as conditions (except the ones from the IP filter, because IPs are not stored in GA; hence, they can’t be segmented).
To help you get started, you can import this segment template.
You just need to follow the instructions on that page and replace the placeholders. Here is how it looks:
In the actual template, all text is black; the colors are just to help you visualize the conditions.
After importing it, to select the segment:
Click on the box that says “All users” at the top of any of your reports
From your list of segments, check the one that says “0. All Users - Clean”
Lastly, uncheck the “All Users”
Now you can navigate through your reaports and all the junk traffic included in the segment will be removed.
A few things to consider when using this segment:
Segments have to be selected each time. A way of having it selected by default is by adding a bookmark when the segment is selected.
You can remove or add conditions if you need to.
You can edit the segment at any time to update it or add conditions (open the list of segments, then click “Actions” then “Edit”).
The hostname expression and third-party tools expression are different for each site.
If your site has a large volume of traffic, segments may sample your data when selected, so if you see the little shield icon at the top of your reports go yellow (normally is green), try choosing a shorter period (i.e. 1 year, 6 months, one month).
Conclusion: Which cake would you eat?
Having real and accurate data is essential for your Google Analytics to report as you would expect.
But if you haven’t filtered it properly, it’s almost certain that it will be filled with all sorts of junk and artificial information.
And the worst part is that if don't realize that your reports contain bogus data, you will likely make wrong or poor decisions when deciding on the next steps for your site or business.
The filters I share above will help you prevent the three most harmful threats that are polluting your Google Analytics and don’t let you get a clear view of the actual performance of your site: spam, bots, and internal traffic.
Once these filters are in place, you can rest assured that your efforts (and money!) won’t be wasted on analyzing deceptive Google Analytics data, and your decisions will be based on solid information.
And the benefits don’t stop there. If you're using other tools that import data from GA, for example, WordPress plugins like GADWP, excel add-ins like AnalyticsEdge, or SEO suites like Moz Pro, the benefits will trickle down to all of them as well.
Besides highlighting the importance of the filters in GA (which I hope I made clear by now), I would also love that for the preparation of these filters to give you the curiosity and basis to create others that will allow you to do all sorts of remarkable things with your data.
Remember, filters not only allow you to keep away junk, you can also use them to rearrange your real user information — but more on that on another occasion.
That’s it! I hope these tips help you make more sense of your data and make accurate decisions.
Have any questions, feedback, experiences? Let me know in the comments, or reach me on Twitter @carlosesal.
Complementary resources:
Google Analytics spam & bots (FAQ): Common data quality questions and concerns answered
Ultimate guide to stopping bots and Google Analytics spam (Always up to date)
Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!
from The Moz Blog https://ift.tt/2JzuPqS via IFTTT
2 notes · View notes
michaelandy101-blog · 3 years
Text
The 'Ethics' You Didn't Know Existed in Design
New Post has been published on http://tiptopreview.com/the-ethics-you-didnt-know-existed-in-design/
The 'Ethics' You Didn't Know Existed in Design
Tumblr media
Just the other day, I was Googling something in a rush and came across a blog post that I thought would give me all the information I needed.
But, when I clicked on the page and tried to start reading the post, the entire screen went dark and a giant “Subscribe to our email” CTA popped up — completely interrupting my experience.
I looked around for a “No thanks” button or an “X”, but I almost couldn’t find one. Just before I went to click the back arrow, I noticed a very faint, tiny “X” that was nearly the same color as the CTA background. It was obvious that this site’s designers wanted to trick visitors into signing up for an email list before reading their content.
Not only did this CTA almost backfire by causing me to bounce off the site, but it also made me judge the brand’s morals.
Although some business people might not think a code of ethics matters in design, it does.
In this post, I’ll explain what design ethics is, what guidelines ethical designers might use, and a few tips for avoiding questionable design ethics.
Tumblr media
What is Design Ethics?
Using design ethics, often referred to as ethical design, involves producing graphics, web pages websites, and visual aspects of technological products that are not misleading, valuable, and helpful to customers. It also involves considering aspects like user experience, inclusion, audience pain points, and accessibility when producing, reviewing, or adjusting designs.
Why are ethics in design important?
One of the best places to highlight your brand’s mission, as well as its ethical values, is in your marketing and designs. After all, these are the areas of your company that prospects and customers might see most.
While ethics, inclusivity, and accessibility are not necessarily always top of mind for some busy marketers or designers,, it’s incredibly important to review any public-facing projects from an ethical perspective.
Today, more than ever, consumers are paying attention to the moral standards of brands. Research shows 62% of consumers are attracted to brands that have strong, authentic ethical values.
When companies are considered ethical, consumers trust them, feel like the brand cares about their experience, and identify with the company. On the other hand, when brands use tactics that feel unethical, consumers lose trust in the brand which could lead to less brand loyalty or purchases.
Ultimately, every aspect of your brand’s design contributes to the message you’re putting out. If you want to create content and that demonstrates your company’s values, you should regularly review your brand’s design ethics.
Ethics in Graphic Design
When creating marketing content like landing pages, web experiences, or other visuals, ethical graphic designers consider a handful of guidelines. Here are just a few:
1. Designs should not be misleading.
You should aim for your designs to engage people and nurture them towards converting. Your designs shouldn’t mislead, pressure, or coerce audiences into doing or thinking something.
In the intro, I noted a website I visited that tried to pressure me into signing up for email before I was even able to read their content. This just one of many sneaky dark pattern design techniques.
While it’s not uncommon or unethical to create colorful or embellished designs that draw attention away from an “X” or opt-out button, dark pattern designs happen when designers make an obvious and conscious effort to trick visitors into doing something, such as giving out personal information.
For example, making the “X” nearly invisible and darkening content behind a pop-up ad so visitors think they need to convert or subscribe to email list to see content is a dark pattern technique. You might also see similar techniques in spammy emails where the unsubscribe link is hidden or made illegibly small so you can’t easily find it.
While it’s understandable that you want to get as many people as possible on a promotional email list, tricking visitors into subscribing for something is not the answer.
Why? If the contact didn’t want to get signed up for the email, they might complain about the sneaky design, mark the email as spam, and unsubscribe immediately. If they aren’t annoyed to the point of unsubscribing, they might not engage with the email because they weren’t expecting it or were never interested in promotional content in the first place. This, in turn, could negatively impact email performance and future deliverability.
Ultimately, sneaking consent from visitors isn’t likely to create major engagement or brand loyalty. So, if you must use a similar tactic or an automatically checked box in your design, make sure the text is large enough so visitors can see it and easily uncheck the box if they aren’t interested in your offering.
2. Designs shouldn’t hurt the user experience.
We’ve all been on a website where an ad or full-page CTA blocked the content we wanted to see. Sometimes, this gets so annoying, it causes us to leave websites entirely.
When we bounce off a website with too many pop-ups or design glitches, the site not only loses visitors and credibility, but it also loses SEO strength.
Designers should make sure they’re creating experiences that nurture an audience member into doing something rather than force-feeding them an offer or advertisement. To do this, they should be asking themselves, “How can I design valuable online experiences that help visitors rather than shamelessly selling products to them?”
At HubSpot, we encourage companies to nurture leads rather than using unethical or desperate marketing tactics to trick them into signing up for something. Our natural lead nurturing approach can be seen right on our blog.
Each HubSpot blog post includes unintrusive CTAs at the bottom of the page, as well as a slide-in CTA that appears when the reader has scrolled passed a certain point in the post. Here’s what the bottom of a post looks like:
Tumblr media
Not only do these CTAs fit smoothly within our blog design (and don’t cover up the content), but they also relate to the content we’re posting. This way, the reader gets a taste of our expertise in our blog content. Then, they can choose to dive deeper into our offers.
With unintrusive CTAs like this, we primarily send offerings to contacts that want them most, are likely to download more free resources, and might turn into qualified leads later on.
3. Messaging, disclaimers, and policies are clear and legible.
In the design below, another example of dark pattern design, the disclaimer, “Your subscription will renew automatically. You can cancel at any time,” is so small you might not notice it.
Tumblr media
Image Source
Because of this, visitors might give credit card information not realizing that they’ll be charged without being asked at the end of their free trial. Ultimately, when someone’s card is surprisingly charged for a service they didn’t want because they didn’t see this message, they might get annoyed with the brand, unsubscribe, and potentially complain about the small text.
On the other hand, if your text is legible and understandable, you might only receive the customers that understand free-trial policies, are serious about your service, and won’t rush to complain if they forget to cancel their subscription before the credit card charge.
4. Use proper representation and embrace inclusion, whenever possible.
Ethical designers always ask, “Does this design accurately represent groups of people discussed?”
Between 2011 and 2015, Access Icon embraced inclusive design ethics when they revamped the International Symbol of Access — often seen on accessible parking spots or wheelchair-accessible bathrooms — to better represent people with disabilities.
While the original symbol showed a simple stick figure sitting in a static wheelchair, the new symbol shows a person’s arms moving with their body tilted forward as if they’re actively moving or speeding in their wheelchair.
Tumblr media
Image Source
The new design came after a 2011 Boston-based street campaign, where Access Icon members placed a moving body over the static body on accessibility signs.
Tumblr media
Image Source
Although Access Icon did not intend to replace or criticize the original symbol, created in the 1950s, the organization wanted the new version to create an “occasion for asking questions about disability and the built environment, in the largest sense. Who has access—physically, yes, but moreover, to education, to meaningful citizenship, to political rights?”
Between 2012 and 2015, state governments, cities, major companies, and local businesses around the world adopted the symbol.
By refining this design, the group aimed to accurately represent people with disabilities as mobile, energetic, and empowered, rather than as static, less mobile figures. Ultimately, they realized the original design wrongly depicted those with disabilities and created a new design that solved for it.
Ethics in the Design of Technology
Design ethics doesn’t just stop with imagery or website UX. Tech products, software, and other tools also need ethical designers to create smooth, pleasant, and trustworthy experiences for customers. While technical or product designers think about the ethical guidelines noted above, there are a few additional standards they might follow:
1. Designs should be accessible.
In recent years, accessibility has been a major topic in the world of tech and product design. Although you might not realize it, people with varying accessibility needs might be using your product. And, when your product is accessible to more people, more people can use it and buy it.
One recent example of an accessible technology design was Microsoft’s Xbox Adaptive Controller.
After learning that children with physical disabilities, such as missing limbs, were having trouble playing Xbox video games with the console’s controllers, Microsoft developed an adaptive touchpad controller, which enabled people with multiple types of disabilities to play games with their friends.
Tumblr media
Image Source
Aside from two circular touchpads, which replace small controller buttons, the Xbox Adaptive Controller features large programmable buttons and can connect to external switches, buttons, mounts, or joysticks that make gaming more accessible for users.
The process of designing the controller was highlighted in a Super Bowl ad called, “We All Win,” which you can watch below:
youtube
On a smaller scale, accessible technological design could also involve including accessibility tools and symbols within your software interface or web page. 
For example, some brands might offer an accessibility icon at the bottom of their website where you can click to adjust settings for a smoother experience if you have a disability. Or, to make their site or UX accessible to people in other countries, websites, like HubSpot’s offer an icon and menu that allow you to toggle between languages:
Tumblr media
2. Designs should promote safety and security.
In 2020, many people are thinking about data security as many are buying smart devices and software for workspaces and their homes. With many devices listening to our voices, logging our lifestyle habits, and even recording health data, some worry that this information could be sold, stolen, or used unethically later on.
Because of data concerns, many tech firms are emphasizing security in their overall product design.
For example, when smart home devices with virtual assistants initially hit store shelves, consumers panicked when they learned that some devices, such as Amazon’s Echo, would surreptitiously record them.
To make consumers feel more secure with Echo devices in their homes, Amazon designed each device with a very visible mute button on them. When the button is pressed, the Echo’s light ring and the button turn orange to visibly show people that the device has deactivated recording.
Tumblr media
Image Source
While this button might make Echo owners feel secure at home, it might also ease the nerves of prospects who see it in product shots or Echo ads before purchasing it.
3. Consider or respond to unexpected ethical dilemmas.
If you’re helping to design a new piece of technology, you should consider all of the potential ethical dilemmas it could create and create a design that could either solve for them or ease your audience’s concerns.
In 2018, Netflix was forced to address a design strategy on its platform when a recommendation algorithm was panned across the web.
The algorithm in question, which Netflix called, “Artwork Personalization,” aimed to show users show thumbnails based on the design traits of thumbnails they’d previously clicked. While it sounded like an interesting personalization experiment, consumers quickly argued that this personalization was racially targeting users.
Specifically, some users noted seeing primarily content recommendations with white people in thumbnails while some BIPOC users saw mostly thumbnails that showed people of color. While Netflix denied that the algorithm targeted users by race, the news went viral.
In this scenario, had Netflix designers and developers researched their design tweaks or audited it from an ethical perspective, they might have been able to tweak the algorithm before launch.
How to Promote Design Ethics
If this post has inspired you to develop a new ethical standard for your designs, here are a few next steps you can take.
Audit Your Past Designs
Even if your designs have been successful in the past, it’s still good to re-audit them to ensure that they continue to promote design ethics. For example, you can look at your website or product’s design to ensure that they’re accessible, easy to comprehend, and inclusive to all potential web visitors.
Review Your Current Projects.
Whether you’re working on a product, website, graphic, or software-related design, reviewing it from a design ethics perspective might lead to a successful launch with fewer risks of complaints or concerns from the public.
Pivot if Needed
Sometimes a design tactic you once embraced is now considered out of date. For example, a design symbol that used to be culturally acceptable or valuable might now be seen as a misrepresentation or offensive. When you notice things like this changing, it’s smart to adjust or modernize your design tactics.
Want to learn more about design and ethics? Check out this post for additional information on dark-pattern design or this post on ethics in modern marketing.
Tumblr media
Source link
0 notes
hasnainamjad · 4 years
Link
Java is one of the most in-demand programming languages in the world and one of the two official programming languages used in Android development (the other being Kotlin). Developers familiar with Java are highly employable and capable of building a wide range of different apps, games, and tools. In this Java tutorial for beginners, you will take your first steps to become one such developer! We’ll go through everything you need to know to get started, and help you build your first basic app.
What is Java?
Java is an object-oriented programming language developed by Sun Microsystems in the 1990s (later purchased by Oracle).
“Object oriented” refers to the way that Java code is structured: in modular sections called “classes” that work together to deliver a cohesive experience. We’ll discuss this more later, but suffice to say that it results in versatile and organized code that is easy to edit and repurpose.
Java is influenced by C and C++, so it has many similarities with those languages (and C#). One of the big advantages of Java is that it is “platform independent.” This means that code you write on one machine can easily be run on a different one. This is referred to as the “write once, run anywhere” principle (although it is not always that simple in practice!).
To run and use Java, you need three things:
The JDK – Java Development Kit
The JRE – The Java Runtime Environment
The JVM – The Java Virtual Machine
The Java Virtual Machine ensures that your Java applications have access to the minimum resources they need to run. It is thanks to the JVM that Java code is so easily run across platforms.
The Java Runtime Environment provides a “container” for those elements and your code to run in. The JDK is the “compiler” that interprets the code itself and executes it. The JDK also contains the developer tools you need to write Java code (as the name suggests!).
The good news is that developers need only concern themselves with downloading the JDK – as this comes packed with the other two components.
How to get started with Java programming
If you plan on developing Java apps on your desktop computer, then you will need to download and install the JDK.
You can get the latest version of the JDK directly from Oracle. Once you’ve installed this, your computer will have the ability to understand and run Java code. However, you will still need an additional piece of software in order to actually write the code. This is the “Integrated Development Environment” or IDE: the interface used by developers to enter their code and call upon the JDK.
When developing for Android, you will use the Android Studio IDE. This not only serves as an interface for your Java (or Kotlin) code, but also acts as a bridge for accessing Android-specific code from the SDK. For more on that, check out our guide to Android development for beginners.
For the purposes of this Java tutorial, it may be easier to write your code directly into a Java compiler app. You can download these for Android and iOS, or even find web apps that run in your browser. These tools provide everything you need in one place and let you start testing code.
I recommend compilejava.net.
How easy is it to learn Java programming?
If you’re new to Java development, then you may understandably be a little apprehensive. How easy is Java to learn?
This question is somewhat subjective, but I would personally rate Java as being on the slightly harder end of the spectrum. While easier than C++ and is often described as more user-friendly, it certainly isn’t quite as straightforward as options like Python or BASIC which sit at the very beginner-friendly end of the spectrum. For absolute beginners who want the smoothest ride possible, I would recommend Python as an easier starting point.
C# is also a little easier as compared with Java, although they are very similar.
Also read: An introduction to C# for Android for beginners
Of course, if you have a specific goal in mind – such as developing apps for Android – it is probably easiest to start with a language that is already supported by that platform.
Java has its quirks, but it’s certainly not impossible to learn and will open up a wealth of opportunities once you crack it. And because Java has so many similarities with C and C#, you’ll be able to transition to those languages without too much effort.
Also read: I want to developed Android apps – which languages should I learn?
What is Java syntax?
Before we dive into the meat of this Java for beginners tutorial, it’s worth taking a moment to examine Java syntax.
Java syntax refers to the way that things are written. Java is very particular about this, and if you don’t write things in a certain way, then your code won’t run!
I actually wrote a whole article on Java syntax for Android development, but to recap on the basics:
Most lines should end with a semicolon “;”
The exception is a line that opens up a new code block. This should end with an open curly bracket “{“. Alternatively, this open bracket can be placed on a new line beneath the statement. Code blocks are chunks of code that perform specific, separate tasks.
Code inside the code block should then be indented to set it apart from the rest.
Open code blocks should be closed with a closing curly bracket “}”.
Comments are lines preceded by “//”
If you hit “run” or “compile” and you get an error, there is a high chance it’s because you missed off a semi-colon somewhere!
You will never stop doing this and it will never stop being annoying. Joy!
With that out of the way, we can dive into the Java tutorial proper!
Java basics: your first program
Head over to compilejava.net and you will be greeted by an editor with a bunch of code already in it.
(If you would rather use a different IDE or app that’s fine too! Chances are your new project will be populated by similar code.)
Delete everything except the following:
public class HelloWorld { public static void main(String[] args) { } }
This is what we refer to “in the biz” (this Java tutorial is brought to you by Phil Dunphy) as “boilerplate code.” Boilerplate is any code that is required for practically any program to run.
The first line here defines the “class” which is essentially a module of code. We then need a method within that class, which is a little block of code that performs a task. In every Java program, there needs to be a method called main, as this tells Java where the program starts.
You won’t need to worry about the rest until later. All we need to know for this Java tutorial right now is that the code we actually want to run should be placed within the curly brackets beneath the word “main.”
Place the following statement here:
System.out.print("Hello world!");
This statement will write the words “Hello world!” on the screen. Hit “Compile & Execute” and you’ll be able to see it in action! (It’s a programming tradition to make your first program in any new language say “Hello world!” Programmers are a weird bunch.)
Congratulations! You just wrote your first Java app!
Introducing variables in Java
Now it’s time to cover some more important Java basics. Few things are more fundamental to programming than learning how to use variables!
A variable is essentially a “container” for some data. That means you’ll choose a word that is going to represent a value of some sort. We also need to define variables based on the type of data that they are going to reference.
Three basic types of variable that we are going to introduce in this Java tutorial are:
Integers – Whole numbers.
Floats – Or “floating point variables.” These contain full numbers that can include decimals. The “floating point” refers to the decimal place.
Strings – Strings contain alphanumeric characters and symbols. A typical use for a string would be to store someone’s name, or perhaps a sentence.
Once we define a variable, we can then insert it into our code in order to alter the output. For example:
public class HelloWorld { public static void main(String[] args) { String name = "Adam"; System.out.print("Hello " + name); } }
In this example code, we have defined a string variable called “name.” We did this by using the data type “String”, followed by the name of our variable, followed by the data. When you place something in inverted commas in Java, it will be interpreted verbatim as a string.
Now we print to the screen as before, but this time have replaced “Hello world!” With “Hello ” + name. This shows the string “Hello “, followed by whatever value is contained within the following String variable!
The great thing about using variables is that they let us manipulate data so that our code can behave dynamically. By changing the value of name you can change the way the program behaves without altering any actual code!
Conditional statements in Java tutorial
Another of the most important Java basics, is getting to grips with conditional statements.
Conditional statements use code blocks that only run under certain conditions. For example, we might want to grant special user privileges to the main user of our app. That’s me by the way.
So to do this, we could use the following code:
public class HelloWorld { public static void main(String[] args) { String name = "Adam"; System.out.print("Hello " + name +"\r\n"); if (name == "Adam") { System.out.print("Special user priveledges granted!"); } } }
Run this code and you’ll see that the special permissions are granted. But if you change the value of name to something else, then the code won’t run!
This code uses an “if” statement. This checks to see if the statement contained within the brackets is true. If it is, then the following code block will run. Remember to indent your code and then close the block at the end! If the statement in the brackets is false, then the code will simply skip over that section and continue from the closed brackets onward.
Notice that we use two “=” signs when we check data. You use just one when you assign data.
Methods in Java tutorial
One more easy concept we can introduce in this Java tutorial is how to use methods. This will give you a bit more idea regarding the way that Java code is structured and what can be done with it.
All we’re going to do, is take some of the code we’ve already written and then place it inside another method outside of the main method:
public class HelloWorld { public static void main(String[] args) { String name = "Adam"; System.out.print("Hello " + name +"\r\n"); if (name == "Adam") { grantPermission(); } } static void grantPermission() { System.out.print("Special user priveledges granted!"); } }
We created the new method on the line that starts “static void.” This states that the method defines a function rather than a property of an object and that it doesn’t return any data. You can worry about that later!
But anything we insert inside the following code block will now run any time that we “call” the method by writing its name in our code: grantPermission(). The program will then execute that code block and return to the point it left from.
Were we to write grantPermission() multiple times, the “Special user privileges granted!” message would be displayed multiple times! This is what makes methods such fundamental Java basics: they allow you to perform repetitive tasks without writing out code over and over!
Passing arguments in Java
What’s even better about methods though, is that they can receive and manipulate variables. We do this by passing variables into our methods as “Strings.” This is what the brackets following the method name are for.
In the following example, I have created a method that receives a string variable, and I have called that nameCheck. I can then refer to nameCheck from within that code block, and its value will be equal to whatever I placed inside the curly brackets when I called the method.
For this Java tutorial, I’ve passed the “name” value to a method and placed the if statement inside there. This way, we could check multiple names in succession, without having to type out the same code over and over!
Hopefully, this gives you an idea of just how powerful methods can be!
public class HelloWorld { public static void main(String[] args) { String name = "Adam"; System.out.print("Hello " + name +"\r\n"); checkUser(name); } static void checkUser(String nameCheck) { if (nameCheck == "Adam") { System.out.print("Special user priveledges granted!"); } } }
That’s all for now!
That brings us to the end of this Java tutorial. Hopefully, you now have a good idea of how to learn Java. You can even write some simple code yourself: using variables and conditional statements, you can actually get Java to do some interesting things already!
The next stage is to understand object-oriented programming and classes. This understanding is what really gives Java and languages like it their power, but it can be a little tricky to wrap your head around at first!
Read also: What is Object Oriented Programming?
The best place to learn more Java programming? Check out our amazing guide from Gary Sims that will take you through the entire process and show you how to leverage those skills to build powerful Android apps. You can get 83% off your purchase if you act now!
Of course, there is much more to learn! Stay tuned for the next Java tutorial, and let us know how you get on in the comments below.
Other frequently asked questions
Q: Are Java and Python similar? A: While these programming languages have their similarities, Java is quite different from Python. Python is structure agnostic, meaning it can be written in a functional manner or object-oriented manner. Java is statically typed whereas Python is dynamically typed. There are also many syntax differences.
Q: Should I learn Swift or Java? A: That depends very much on your intended use-case. Swift is for iOS and MacOS development.
Q: Which Java framework should I learn? A: A Java framework is a body of pre-written code that lets you do certain things with your own code, such as building web apps. The answer once again depends on what your intended goals are. You can find a useful list of Java frameworks here.
Q: Can I learn Java without any programming experience? A: If you followed this Java tutorial without too much trouble, then the answer is a resounding yes! It may take a bit of head-scratching, but it is well worth the effort.
source https://www.androidauthority.com/java-tutorial-for-beginners-write-a-simple-app-with-no-previous-experience-1121975/
0 notes
Text
A Year of Quiet, aka Lessons in Isolation
First and foremost, I want to emphasis staying informed, and taking your health and the health of others seriously. Period.
I have the luxury of working in the news (which, admittedly, can get exhausting), and a science reporter as my sibling, who has been on the coronavirus beat for over 2 months. I trust her and her concerns. I am also lucky to have a handful of friends who work on infectious disease research and response for the CDC—I trust them and their concerns. That access to information doesn’t raise my anxiety so much as make me feel informed and prepared. However, I fully recognize how dire and scary this all feels. Frankly, it feels that way because the reach and reality of this pandemic is indeed scary. 
My office moved quickly last week to setting us up to work from home, and for that I am deeply grateful. I spent most of the weekend indoors, save a few runs and some fresh air, and a quick stop at my local cafe for coffee-to go (support your neighbors and tip well, y’all.) As Americans, it’s been a while since social solidarity was asked, let alone required of us. I can’t remember a moment in my lifetime that felt as dire in regards to personal responsibility.But, we can find a new normal in balancing being isolated and practicing social distancing, while also staying sane and staving off the stir crazy. I think it is possible to be diligent about self-isolating, and vigilant in our social distancing, and still find ways to connect, to support, to find joy, even if that means remotely. 
Strangely, I feel more prepared for self-isolation than I ever have in my life, and I realized this weekend that my year of quiet in rural Japan taught me a lot about how to manage limited social contact and a uniquely singular life. I figured there’s no time like a pandemic to share a few things that kept me sane: 
Remember that internet is the friend of the curious and the enemy of the anxious. 
What a time to be alive! There is more access to real time information than ever before. This is gift, and at times, a trap. Know when to unplug, and definitely know when to stop checking Twitter. Delete some apps off of your phone (Instagram, Facebook, Hinge, etc) for the weekend and enjoy reclaiming some of your mental space. (Plus coronavirus-inspired pick-up lines are eye-roll worthy at best.) When I would find myself deep into Instagram scrolls with no end in sight, that was usually time to delete the app for a week or so to break the habit. 
Set your expectations.
Consider this a marathon, and not a sprint, and adjust your mindset accordingly. We should be thinking of this in months, not weeks. It’s helpful to consider this in the long haul and not just a temporary inconvenience. 
Go for walks, long ones when time allows, particularly if you can avoid crowded areas. 
I usually ended my day with a sunset walk through the rice fields near my apartment and it was a regular time to reset and get some fresh air that now I often miss. I certainly take for granted how nice a short stint in the sun can be. Don’t forget to look up at the sky or take some picture of flowers if it pleases you. Send them to friends who are self-isolating in colder climates (looking at you, Chicago.) 
Create some structure
Outside of being able to live abroad, my teaching schedule allowed me to reclaim many of my daylight hours (something I had little of in my previous job.) I don’t consider myself a particularly disciplined person, but I wanted to make the most of this time. An easy thing I tried to adhere to was doing 3 things every day: something creative, something educational, and something active. The categories were purposefully broad – physical, for example, could be anything from a run to stretching while watching Netflix – and it helped to have daily, achievable goals.
But also, allow yourself some rest
WFH and self isolation are certainly not the same thing as a vacation. However, especially with the world feeling like it’s ending, it’s ok to not need to be productive (after remote-office hours, of course.) Lean into binging tv shows, taking long baths or reading books, diving back into the world of Sims. It’s ok to seek out comfort right now, because… 
Isolation can be painful! 
Loneliness is real. And if you’re the kind of person who needs to share physical space with people, this adjustment may be particularly uncomfortable. But it doesn’t last forever, and in 2020 there are so many ways to stay connect and close to the folks you care about. On that note…
If you’re feeling panicky, anxious, stressed - talk about it! 
Reach out to people you trust and share where you’re at. If you need support, now is as good a time as any to ask for it. For alternatives, consider starting a journal, recording voice memos, making videos, if only for yourself, to talk through those thoughts and stop them from occupying precious brain space. Speaking of videos… 
Send your friends dance videos, or schedule a GoogleHang and have solo dance parties, together.
When I lived in Japan there were some nights that my beloved apartment felt not just sparse, but empty; in those times that I felt particularly distanced from my friends and life back in the US, I started sending these dance videos to select folks on Instagram. It was silly (still is tbh) and yet very much helped to keep me sane and connected to people I love. Dancing around my apartment was a good way to save me from my melancholy self, and now is kind of a necessity during quarantine times, to shake off some of that excess energy and loosen up some of the stir crazy. Another great option is tuning into groups like Dance Church, who have taken their weekly gathering online and available for streaming.
On the topic of GoogleHangouts…
Throw some on your calendar! Make it weekly, make it daily, make them random. I am convinced that my Groupchat of high school pals played a large part in me tolerating the weight of isolation as a foreigner; WhatsApp with and Instagram messenger acted as lifelines when it came to feeling connection with my people back home.
Not sure where to start? Host a quarantine happy hour where everyone calls in at the same time with their beverage of choice! Start a Netflix viewing party! Make a free account on Tabletopia and play board games against your friends remotely! Start an online bookclub! If you’re musically inclined, go live on Instagram and let folks tune in!  It’s no stand-in for IRL social time, but I can say after moving around a number of times, it’s actually pretty incredible how many ways there are to hangout from afar. 
Revisit your internal project list. 
What is something you haven’t been able to get to in your regular life because of daily commitments like work? Reading the stack of books by your bed? Baking the best bread humanly possible? Learning another language? Having a project (or 5) to chip away at during my time abroad helped me to feel productive and take pride in accomplishing something. There’s so many great online (often free) resources for learning new things. I like to rely on Skillshare for prompts, but recently have purchased a few classes through Moment to learn more about mobile filmmaking. That being said, I’d also be careful not to fall into the trap of turning everything into work. Don’t put more pressure on yourself than needed right now. If there’s room to chip away at personal projects, be they anything from self portraits or cross-stitch, take the time to find some pleasure in creating. Oh yeah, and do update your damn website (me, to me.) 
An additional list of thoughts in no particular order: 
Make a collaborative playlists
Check in on your freelance friends (help them out financially if and when you can, promote their work, buy their merch, shoot them a Venmo, a PayPal, a CashApp.) 
Deep clean your place! 
Consume podcasts like it’s your job.  
Finally clear the open tabs on your browser window (wishful thinking) 
Do your taxes! Annoying, but hey, if you’ve got the time.  
StoryCorps! If you’re already cooped up with folks - family or roommates or partners– take the time to get to know them in a way you usually don’t 
Send snail mail! 
Participate in Instagram challenges or prompts 
I’m a fan of #DrawThisInYourStyle for illustration projects, but I really like @rockthatmuseumgirl’s idea of posting art we’ve seen and tagging them #throwbackmuseum since so many art institutions and public spaces are closed right now. 
On a community note…
Donate to food banks! Blood banks! Buy local gift cards to use later or see if your favorite spots are doing pickup or to-go options! Support your neighborhood any way you can, while staying safe, and more than anything, be kind. As a wise art director reminded us on Instagram this week: “everyone is fighting their own battles. be mindful & grateful for what you have”
Ok, enough rambling from me. Till next time, y’all
1 note · View note
projectlabsco · 5 years
Text
DPM Podcast: How To Get Website Content From Clients (with James Rose from Content Snare)
Ben Aston: Are you still waiting for your web project to go live? Let me guess, you’re waiting on the content or maybe the client sent you the content, but now you’re waiting for them to send you the content that matches the site. Well, it’s a challenge for anyone working in web development. And agencies will be only too familiar with this problem, but it’s one that can be solved. Yes, there is a way to do this better, so keep listening to this podcast to understand how you can ditch endless email trails, massive attachments and messy Google Docs, gather content and files in one place with automated content reminders with a tool that we’re going to be talking about today. Thanks for tuning in. I’m Ben Aston, founder of the Digital Project Manager. Welcome to the DPM podcast. Whether you’re a seasoned project manager, a digital producer, or something else entirely, maybe you just found yourself somehow in charge of managing projects; just know that today in your headphones, you’re joined by thousands of others in the same boat. Trying their best to start, plan and deliver better projects. We at the DigitalProjectManager.com are here to help you become more confident and skilled as a project manager. And we’re here to connect you with others who are managing and leading projects too. If you really want to level up and take your PM game to the next level, check out our DPM school and be sure to sign up for our pro membership to get access to all our curated resources. Finally, while you’re listening to the show, please subscribe and join our mailing list on the DigitalProjectManager.com to stay up to date with all that’s going on. Today I’m joined by James Rose. James is the co-founder of Content Snare that we’re going to be talking about and at Jira technology. He was once a web designer and now he’s trying to help designers and developers regain their lives, work less and get better clients. So hi James. James Rose: Ben, it is very awesome to be here. Other than the fact that I’m currently being attacked by pathogens received from an Uber driver the other day. Ben Aston: Well glad you could make it. So, I mean, tell us what you’re doing now. You’re running your own FaaS product and you’re also running a development shop. Can you tell us a bit about those? James Rose: Yeah, so we’ve been in the software game for a very long time now. I think we founded our business in 2010, so we built our software product back then and then we ended up building software for other people, like our client, you know, typical agency type thing. So that’s our development shop, Aktura Technology. Yeah. And I mean that’s fairly… We just build custom stuff for people. But in that process we also used to build a lot of websites and as your intro might suggest, content is a big problem for a lot of people and it was for us. And through our… I guess I did a lot of networking with web designers and it seemed to be a really big problem with everybody and at the time we were trying to find another problem to solve because software’s kind of where our heart is and it sort of clicked in. I went, “Man, we’ve got to build something to help our own process for content collection and all these other web designers need help as well, these other agencies.” So that’s kind of how Content Snare started and that’s now what we have. We have a SaaS, I guess it’s software product or platform that helps people collect content from clients on time and without all the delays and the messy attachments and everything that usually comes along with that process. Ben Aston: Yeah. Cool. So let’s talk about Content Snare in just a minute. But first I want to backtrack on how you got to this place where you’re building a SaaS tool to help agencies. What’s your background in the agency world? James Rose: Well, I mean it’s really just our own. So unlike you, I did not start out in a large agency. I was an engineer back in the day doing control systems engineering or automation engineering. So at some point we were actually basically writing code for industrial processes, I guess. But then that’s sort of tied over into actually creating software products. So Content Snare is actually our third product. And you know, previous ones have sold out or whatever. But that’s where we started. The website’s only happened because… Like the digital agency only happened because as you know, if you do anything on computers, everyone assumes you know everything else about computers. So you tell people you’re in software and they’re like, “Can you build me a website? And while you’re at it, like recover some data off my hard drive and build me like an Uber app, clone, but for puppies for $2,000?” So that’s how we got into websites. A bunch of people asked us about it. We had been building our own websites previously back in the days when you just made websites to try and get them ranked on Google and make money off ads back in those days. So we kind of had some experience and we thought, “You know what, we’ll just do good websites for people because it seems that a lot of people are kind of like not having great relationships with their web developers. And if we just do a good job, then we should be able to create a decent agency.” And that’s kind of what happened. We just started out with websites and then ended up doing other stuff like Facebook ads and Google ads and actually getting into digital marketing before coming full circle back into only websites because we just wanted to focus on being good at that one thing. And that’s how our agency started. Ben Aston: Nice. And so you’re an agency without an office, right? James Rose: Mm-hmm (affirmative). Ben Aston: So how, I mean that’s… I know for a lot of people listening, they’ll be in a similar kind of spot there. They’re trying to manage their remote teams and remote developers often who are hard to get hold of. How do you make remote working actually work? Particularly when working with developers who can be unresponsive, what are your tips? James Rose: Yeah, so it’s definitely an ongoing challenge, and we’re not through it yet, for sure. But there’s definitely a couple of things. So I find a lot of the issues with vanishing developers that you mentioned and unresponsive developers tends to be because of hiring contractors. So, I can’t remember who told me about this a long time ago, maybe it was James Schramko, but he only, whoever it was, they only hired full time. And when we switched to that model, which again we don’t absolutely stick to that, but for a lot of our developers they’re on essentially full time. So they show up at whatever their 9:00 AM is and go home at their 5:00 PM. But we are flexible but we expect a full work day every day unless something else… that they just tell us that they’ve got something on or whatever and we’re happy to be flexible. But the fact that they are expected to work for us every day, it makes such a difference. It’s huge. And so we don’t really have issues with people just vanishing anymore, like at all. Ben Aston: Well lucky you. James Rose: Yeah. I mean we’ve definitely had some full time people disappear. Like I remember one guy in the middle of a big project just vanished for four days and I was like, “Where were you?” And he’s like, “Oh, I went up into the mountains and was hanging out there. I was still working on the project, I just didn’t have access to Slack.” And I was like, “That’s not okay. You know, at least tell us or whatever and we could probably work around that.” But needless to say, he doesn’t work for us anymore. So that’s kind of the answer I feel for people that don’t want to… Like if you need access to people and you want them to be there every day and they’re not, then move them on quickly. Ben Aston: Yeah. Yeah. I mean you talked about Slack and that being a comms channel for you and your remote team. Tell us about what other tools you use to manage your projects internally? James Rose: So these days it’s pretty much just Jira. When we were doing websites, we used Teamwork Projects. So we’ve actually, I don’t think I said that yet, but we shut down the website part of the business just because we’re doing too much stuff. So having the software agency and Content Snare is plenty, so we shut down that. But Teamwork Projects was a really good system I found for smaller… I don’t know how it works on big projects because we run all of our big stuff through Jira and a classic Kanban style board and you can set sprints and assign people and have stakeholder review. So as we move people through, sorry, move features through the process then there might be a peer review stage, so another developer has to review it before… There’s like business logic built in so that if they don’t check the code out or whatever and look at it, then it can’t progress to stakeholder review and then the client has to hit a button to approve it and only then can it be rolled out to the staging server. And after it’s been tested, then it could go to the production server. So it’s kind of like a pretty in depth process for software. And Jira is one of the few that allows you to build in all these rules. But- Ben Aston: Yeah. James Rose: … Like that. Ben Aston: Which can be annoying. James Rose: Oh man. Like, I did not set it up. Jira is an absolute dog of a tool. I’m not saying it’s the most amazing. Ben Aston: No, I know, but you’re right though. James Rose: Once it’s— Ben Aston: But you’re right. I think the fascinating thing about Jira is that people make this assumption, “Okay we’re going to bite the bullet, we’re going to get Jira.” And then you get deer and then you’re like, “Okay, who can set this… Can anyone set this up?” And then it’s the same when you’re setting up new boards or new projects, right. There’s normally one person who knows how to do it and they’re like, “Um, yeah. They’re away.” “Okay, well the project start then.” But the great thing, I mean, the best and the worst thing about Jira is these workflows. And you can define these rules and it won’t let you do stuff. So you can’t move the card past a step if you haven’t ever… if it doesn’t adhere to the workflow, you can’t do it. Which is incredibly frustrating as a project manager. But in terms of the workflow and ensuring that all the steps get done, it can be really powerful. And— James Rose: Yeah. Which is I guess like you say, it’s frustrating for some things, but then it can also help manage that. You know, we’re talking about managing remote developers before and it’s like a constant balancing act. Eh? Ben Aston: Yeah, for sure. Now one of the things that I know that your massively keen on is productivity hacks. you mentioned your, well I read it somewhere, your Zapier stats. You’ve automated 9,000 tasks or something this month. What I’m sure are PM listeners would love to know are which of your Zaps can we copy? What are your favorites Zaps and what are you automating that you’ve found to be increase your productivity? James Rose: That’s an awesome question. Like- Ben Aston: You probably don’t even know because it’s all automated and you’ve forgotten it’s even a thing. James Rose: You’re kind of right in a way. But I’ve actually had to go through them all lately because I get this question sometimes and especially because I’m in the middle of recording how I use Zapier at the moment into like a course. And so I’ve had to go through and be like, “What Zaps can people actually use?” You know, like to me it works normally the other way. Like you have to know how to use Zapier, know what’s possible, dig into the tools that you’re already using and see what you can trigger workflows on or what actions you can take in those tools with Zapier. And then with that knowledge you can build automations knowing that, “Okay, when this happens I want this other thing to happen.” Like one, this is like super simple, right? But in Jira I had an automation that monitors every time someone moves a feature from one, or like a bug fix or something from one column, one stage to another in Jira. And when it gets rolled out onto our pre-production service of right before it hits the public, it drops, it rolls all of those features up into a list. Like a digest that’s called in Zapier and drops that into my Trello. Because I use Trello to manage my own personal to do list and life basically. And so it drops a little card in which has a list of all the features that were just rolled out in the last week. Right? And I can quickly scan through those and then create a video about all of those features. It just saves me… I don’t even have to log into Jira. I just see this is everything that’s been rolled out and I can go and make a video to explain all those new features to people. Which I think it’s so simple, but it saves me a ton of time and mucking around. Ben Aston: Yeah. And that’s awesome. James Rose: Yeah, but I mean there’s setting up documents. Like for example, you know, you’ve just been interviewed on my podcast and when you booked in you would have answered a whole bunch of questions about yourself and things we could talk about on the show. You can actually use Zapier to create templated documents. So I have a workflow that we’re going to go through during the podcast and it’ll actually duplicate that document and fill out all the bits of information with like your name, all your details about your website and stuff like that and puts it all in a document that I’ve got there for quick reference during the podcast. So that’s another massive time saver. It’s all just random stuff like this. Ben Aston: Yeah. Yeah. I think it’s that it’s anywhere, anytime that you’re finding you’re copying and pasting stuff, you shouldn’t be copying and pasting it. There’s probably a way to get that information in there without you doing anything. James Rose: Oh, double entries huge. Like if you’re putting the same information into multiple tools, that’s the clear use case. But also when you change something based on something that happened in another tool. I don’t know if you… Like if someone, once you’ve sent someone an email for example, you might have to go over into your CRM and move that person into… Like you sent them a proposal and you move them into proposal sent stage or something in your CRM. That’s the kind of stuff that can be easily automated with tools like Zapier. Ben Aston: Yeah, definitely. James Rose: Yeah. Ben Aston: Like for us it’s for our Master in Digital Project Management School, but we’ve got it all connected to Pipedrive and Google Sheets. And so yeah, when different things happen it gets changed everywhere so that we’re not having to copy and paste or change statuses of things in different places when people sign up and pay and things like that. James Rose: Totally. I think a great use— Ben Aston: So— James Rose: Oh sorry. Just quickly a great use case of project management is like overviews and dashboards and stuff. Because a lot of people will just change their decision for what project management tool they’re going to use based on reporting. But a lot of time you can actually create your own dashboards just by feeding all of the activity into like a Google Sheet or something. And then creating your own dashboards and reporting and telling yourself exactly what you need to know every day. Ben Aston: Yeah, yeah, that’s a good use of it. But yeah, check out, I call it Zapier. James calls it Zapier. James Rose: The CEO calls it Zapier, so I’m going to roll with that. Ben Aston: Okay, you win. Cool. So let’s talk about Content Snare then. And going back to this challenge as web development agencies trying to get content from clients and trying to get the right content from them and trying to get it in a timely manner and in the right format. And you know, it’s a nightmare because clients often don’t have copywriting resources in house or the clients have got a million things to do and it’s the last thing on their priority list. So talk to us about Content Snare, it’s a content workflow tool, but what does that mean exactly? James Rose: Yeah. So it started out very basic, right? Like the original idea was literally just a way… we just wanted to eliminate the email trials because as you know, it’s like, “Oh send me your homepage content.” And then they send like a third of it or a half of it and they’ve sent a picture that’s like way too small and then a logo that’s like 16 pixels. And they’re all attachments and you have to download them all and stick them in a client folder and then request changes on the images that were wrong and tell them why you can’t use that bit of content. And then they’ll send you something else that’s got like red highlighting in it saying, “Can you link this word to this page?” We’ve all been there. It’s crazy. And we end up with these email trails. I’ve had one that, I’ve had several actually, that are so big they lock up Gmail. I use Gmail still, just the web interface. And once they start cracking a hundred emails long, they start really slowing down Gmail and literally freezing on my Beastie desktop computer. So it’s insane. And there was no solution. I just went looking for a solution and all I wanted to do was just have everything in one place. So we knew what was done, which bits of content essentially were finished, which ones needed revisions, like if it wasn’t suitable for… Like we’ve asked for a homepage or header, like just the main heading, right? And it wasn’t long enough or it was too long. We can reject it and say, “Actually this is too long. Can you come back and fix this?” And also lock them in and say the maximum a hundred characters or whatever it is. You know? So this is all the stuff we were dealing with and that’s why this is basically what we built into the product. So in short, the first version was really just a bunch of… kind of like a form. Imagine a standard web form but they can access it through the same link. They can come back whenever they like and continue filling where they left off. There’s no having to save things, it just automatically saves as they type it in. They close the browser, come back later and it’s right where they left off. And the big part was chasing them up automatically through email. So being like, you know, I used to have time scheduled every week to go through and see who we were waiting on and send all these emails out being like, “Hey, I noticed you’ve done this bit but not this. Can you send us throughs?” Whatever. So Content Snare will actually send those followup emails for you. And that’s essentially, at a basic level, that’s what it was. Ben Aston: Yeah. I think that reminder functionality, particularly if it’s coming from a tool, is a really powerful feature because I think as project managers we can be chasing and chasing people for content and not getting it. But when it’s the system emailing you saying, “Okay it’s due tomorrow, just a reminder.” James Rose: Yeah, they can kind of blame it on the tool. Ben Aston: Yeah. James Rose: People seem to be in two distinct camps with this. They’ll either want to email them manually still and actually switch off the reminders because they want it to come from their personal, you know, be able to change the wording each time and whatever. But then some people are like, “Oh no, it’s great for client relationships because I can just blame it on the tool.” Like they haven’t done the work but the tool automatically emails them. It’s just how it is. Ben Aston: Yeah. Nice. And so what’s in their roadmap for the tool? How do you see it evolving? James Rose: Oh man, there’s so much. I’ve probably got five years worth of development on our road map. No, but what we’re realizing is that the more larger agencies and enterprise that come on. So we’ve had some really, really large companies come on lately. Like legitimate household names that almost every single person would know the name of. And that blew my mind. I’m like, “What are you guys using this tool for?” So I just kind of laugh when they signed up. And what we’re learning is people need more workflow stuff. So multiple collaborators for example. So getting… there might be multiple people within an organization that are responsible for different parts of content, whether that’s different pages or even different sections within each page. And so that’s what we have to do a lot of thinking about over the next few months just to try and work out how we make that work in a simple way. Because that’s always been our thing is for clients it has to be insanely simple. That’s our next big release is changing the way clients enter content to make it like focusing on one thing at a time. Like if there’s only ever one piece of content shown on the screen at a time, not like a traditional form anymore because we find it’s kind of overwhelming for people. So this new version that we’re releasing is all about just making things simple. And then yeah, it’s going to be workflow like commenting, kind of like Google Docs where you can tag people in certain parts of content. That’s what it’s all going to be about is collaboration, workflow, and just getting multiple people involved. It’s going to be a hell of a thing, undertaking, but we’ll make it work. Ben Aston: Nice. Yeah. I think as you’re working with bigger companies that that’s the bigger challenges. Yes, you’re happy having… You’ll be maybe working with a marketing team but they will be working internally with stakeholders and it’s like, okay, well where are they managing? Where’s the approval processes happening for that content in order to get it into your tool? James Rose: Yeah. And that’s the other thing, approval. Approval processes is another thing that comes up a lot. And yeah, thanks for mentioning that. I forgot about that. But that’s a huge… Because right now it’s pretty much just like content is approved or not. And you know now, in the future we’re going to have to add multistage workflows where the manager might have to approve it and then the CEO and then the marketing person. You know? Whatever. Ben Aston: Yeah, yeah. It’s fun, right? I think this, as a project manager, this can be one of the most frustrating things because you think, “Hey, I’m doing my job. I’m getting on our side. We’re there and we’ve stuffed the site full of lorem ipsum and it’s looking great.” And then you’re like, “But I’m just waiting for you clients. Just give me what I need.” And yeah, sometimes it’s copy and sometimes it’s image assets or video. But it can be… If you don’t have the content, then the thing’s not done. In terms of like, I mean you mentioned workflow, but in terms of content strategy and how that fits into the content architecture and how the tool helps agencies and clients evaluate what content they need on what pages and that kind of content hierarchy, how do you support that? James Rose: So right now it is fairly simplistic. It’s really like the strategy would be done somewhere else, right? Like it’s not a… I wouldn’t call it a full planning tool yet. It’s really just defining the pages and what needs to go on each page. Right? Ben Aston: Right. James Rose: And some of the more time-savings stuff that people use is being able to save these bits and pieces as templates. So either saving a whole page, sections of pages, whatever. Or even the entire content requests that you would send to someone. You know, a classic example there is the initial questionnaire or briefing form. Some people actually use Content Snare for briefs because briefs can be quite large. And so they’ll just have that set up as a template and send it to the client and then they can come back and fill that out in multiple sittings unlike a typical form. But then yeah, I mean it’s really… Some people actually sit down with their clients with Content Snare in front of them and then build out all the different bits and pieces and then send it to the client right there, and then over the next few weeks they can come back and fill it out. Planning is something I’ve been thinking a lot about because there’s… I think we’re definitely going to build a site map tool at some point where you can plan a hierarchy of pages of first. But when it comes to, you know, it depends how granular you want to go here. Some people will do wire-frames at that point. Right? And I don’t think we should be a wire-frame tool because there’s plenty of others out there. So we’re actually looking at integrations and stuff with some other good wire-frame tools. But I don’t know totally how that’s going to work yet. Ben Aston: Nice. Well, I think that Content Snare fills this gap in the process, which is you need some stuff from your client in order to get something live and if you want to prevent that back and forth with emails or a million Google Docs and things getting lost, try contentsnare.com and see how it works for your projects. But James, thanks so much for joining us today. James Rose: Ben, mate, it’s been awesome. Thank you so much. Ben Aston: So I wonder what you use to manage content. If you are using a tool or you’ve got an incredible process, I’d love to hear about it. Comment on the post below and let us know what you’re using and how you manage it. And also head to thedigitalprojectmanager.com to join our membership where you’ll find 3000 people in our Slack team having all kinds of interesting conversations about content and development and managing projects through different tools. So come and join the team. And if you’ve liked what you’ve heard today, please subscribe and take a couple of minutes to leave a review out. We love to know what people think. But until next time, thanks for listening. from WordPress https://ift.tt/32o58Co via IFTTT
0 notes
Text
Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics
Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics
Posted by Carlosesal
There is no doubt that Google Analytics is one of the most important tools you could use to understand your users' behavior and measure the performance of your site. There's a reason it's used by millions across the world.
But despite being such an essential part of the decision-making process for many businesses and blogs, I often find sites (of all sizes) that do little or no data filtering after installing the tracking code, which is a huge mistake.
Think of a Google Analytics property without filtered data as one of those styrofoam cakes with edible parts. It may seem genuine from the top, and it may even feel right when you cut a slice, but as you go deeper and deeper you find that much of it is artificial.
If you're one of those that haven’t properly configured their Google Analytics and you only pay attention to the summary reports, you probably won't notice that there's all sorts of bogus information mixed in with your real user data.
And as a consequence, you won't realize that your efforts are being wasted on analyzing data that doesn't represent the actual performance of your site.
To make sure you're getting only the real ingredients and prevent you from eating that slice of styrofoam, I'll show you how to use the tools that GA provides to eliminate all the artificial excess that inflates your reports and corrupts your data.
Common Google Analytics threats
As most of the people I've worked with know, I’ve always been obsessed with the accuracy of data, mainly because as a marketer/analyst there's nothing worse than realizing that you’ve made a wrong decision because your data wasn’t accurate. That’s why I’m continually exploring new ways of improving it.
As a result of that research, I wrote my first Moz post about the importance of filtering in Analytics, specifically about ghost spam, which was a significant problem at that time and still is (although to a lesser extent).
While the methods described there are still quite useful, I’ve since been researching solutions for other types of Google Analytics spam and a few other threats that might not be as annoying, but that are equally or even more harmful to your Analytics.
Let’s review, one by one.
Ghosts, crawlers, and other types of spam
The GA team has done a pretty good job handling ghost spam. The amount of it has been dramatically reduced over the last year, compared to the outbreak in 2015/2017.
However, the millions of current users and the thousands of new, unaware users that join every day, plus the majority's curiosity to discover why someone is linking to their site, make Google Analytics too attractive a target for the spammers to just leave it alone.
The same logic can be applied to any widely used tool: no matter what security measures it has, there will always be people trying to abuse its reach for their own interest. Thus, it's wise to add an extra security layer.
Take, for example, the most popular CMS: Wordpress. Despite having some built-in security measures, if you don't take additional steps to protect it (like setting a strong username and password or installing a security plugin), you run the risk of being hacked.
The same happens to Google Analytics, but instead of plugins, you use filters to protect it.
In which reports can you look for spam?
Spam traffic will usually show as a Referral, but it can appear in any part of your reports, even in unsuspecting places like a language or page title.
Sometimes spammers will try to fool by using misleading URLs that are very similar to known websites, or they may try to get your attention by using unusual characters and emojis in the source name.
Independently of the type of spam, there are 3 things you always should do when you think you found one in your reports:
Never visit the suspicious URL. Most of the time they'll try to sell you something or promote their service, but some spammers might have some malicious scripts on their site.
This goes without saying, but never install scripts from unknown sites; if for some reason you did, remove it immediately and scan your site for malware.
Filter out the spam in your Google Analytics to keep your data clean (more on that below).
If you're not sure whether an entry on your report is real, try searching for the URL in quotes (“example.com”). Your browser won’t open the site, but instead will show you the search results; if it is spam, you'll usually see posts or forums complaining about it.
If you still can’t find information about that particular entry, give me a shout — I might have some knowledge for you.
Bot traffic
A bot is a piece of software that runs automated scripts over the Internet for different purposes.
There are all kinds of bots. Some have good intentions, like the bots used to check copyrighted content or the ones that index your site for search engines, and others not so much, like the ones scraping your content to clone it.
2016 bot traffic report. Source: Incapsula
In either case, this type of traffic is not useful for your reporting and might be even more damaging than spam both because of the amount and because it's harder to identify (and therefore to filter it out).
It's worth mentioning that bots can be blocked from your server to stop them from accessing your site completely, but this usually involves editing sensible files that require high technical knowledge, and as I said before, there are good bots too.
So, unless you're receiving a direct attack that's skewing your resources, I recommend you just filter them in Google Analytics.
In which reports can you look for bot traffic?
Bots will usually show as Direct traffic in Google Analytics, so you'll need to look for patterns in other dimensions to be able to filter it out. For example, large companies that use bots to navigate the Internet will usually have a unique service provider.
I’ll go into more detail on this below.
Internal traffic
Most users get worried and anxious about spam, which is normal — nobody likes weird URLs showing up in their reports. However, spam isn't the biggest threat to your Google Analytics.
You are!
The traffic generated by people (and bots) working on the site is often overlooked despite the huge negative impact it has. The main reason it's so damaging is that in contrast to spam, internal traffic is difficult to identify once it hits your Analytics, and it can easily get mixed in with your real user data.
There are different types of internal traffic and different ways of dealing with it.
Direct internal traffic
Testers, developers, marketing team, support, outsourcing... the list goes on. Any member of the team that visits the company website or blog for any purpose could be contributing.
In which reports can you look for direct internal traffic?
Unless your company uses a private ISP domain, this traffic is tough to identify once it hits you, and will usually show as Direct in Google Analytics.
Third-party sites/tools
This type of internal traffic includes traffic generated directly by you or your team when using tools to work on the site; for example, management tools like Trello or Asana,
It also considers traffic coming from bots doing automatic work for you; for example, services used to monitor the performance of your site, like Pingdom or GTmetrix.
Some types of tools you should consider:
Project management
Social media management
Performance/uptime monitoring services
SEO tools
In which reports can you look for internal third-party tools traffic?
This traffic will usually show as Referral in Google Analytics.
Development/staging environments
Some websites use a test environment to make changes before applying them to the main site. Normally, these staging environments have the same tracking code as the production site, so if you don’t filter it out, all the testing will be recorded in Google Analytics.
In which reports can you look for development/staging environments?
This traffic will usually show as Direct in Google Analytics, but you can find it under its own hostname (more on this later).
Web archive sites and cache services
Archive sites like the Wayback Machine offer historical views of websites. The reason you can see those visits on your Analytics — even if they are not hosted on your site — is that the tracking code was installed on your site when the Wayback Machine bot copied your content to its archive.
One thing is for certain: when someone goes to check how your site looked in 2015, they don't have any intention of buying anything from your site — they're simply doing it out of curiosity, so this traffic is not useful.
In which reports can you look for traffic from web archive sites and cache services?
You can also identify this traffic on the hostname report.
A basic understanding of filters
The solutions described below use Google Analytics filters, so to avoid problems and confusion, you'll need some basic understanding of how they work and check some prerequisites.
Things to consider before using filters:
1. Create an unfiltered view.
Before you do anything, it's highly recommendable to make an unfiltered view; it will help you track the efficacy of your filters. Plus, it works as a backup in case something goes wrong.
2. Make sure you have the correct permissions.
You will need edit permissions at the account level to create filters; edit permissions at view or property level won’t work.
3. Filters don’t work retroactively.
In GA, aggregated historical data can’t be deleted, at least not permanently. That's why the sooner you apply the filters to your data, the better.
4. The changes made by filters are permanent!
If your filter is not correctly configured because you didn’t enter the correct expression (missing relevant entries, a typo, an extra space, etc.), you run the risk of losing valuable data FOREVER; there is no way of recovering filtered data.
But don’t worry — if you follow the recommendations below, you shouldn’t have a problem.
5. Wait for it.
Most of the time you can see the effect of the filter within minutes or even seconds after applying it; however, officially it can take up to twenty-four hours, so be patient.
Types of filters
There are two main types of filters: predefined and custom.
Predefined filters are very limited, so I rarely use them. I prefer to use the custom ones because they allow regular expressions, which makes them a lot more flexible.
Within the custom filters, there are five types: exclude, include, lowercase/uppercase, search and replace, and advanced.
Here we will use the first two: exclude and include. We'll save the rest for another occasion.
Essentials of regular expressions
If you already know how to work with regular expressions, you can jump to the next section.
REGEX (short for regular expressions) are text strings prepared to match patterns with the use of some special characters. These characters help match multiple entries in a single filter.
Don’t worry if you don’t know anything about them. We will use only the basics, and for some filters, you will just have to COPY-PASTE the expressions I pre-built.
REGEX special characters
There are many special characters in REGEX, but for basic GA expressions we can focus on three:
^ The caret: used to indicate the beginning of a pattern,
$ The dollar sign: used to indicate the end of a pattern,
| The pipe or bar: means "OR," and it is used to indicate that you are starting a new pattern.
When using the pipe character, you should never ever:
Put it at the beginning of the expression,
Put it at the end of the expression,
Put 2 or more together.
Any of those will mess up your filter and probably your Analytics.
A simple example of REGEX usage
Let's say I go to a restaurant that has an automatic machine that makes fruit salad, and to choose the fruit, you should use regular xxpressions.
This super machine has the following fruits to choose from: strawberry, orange, blueberry, apple, pineapple, and watermelon.
To make a salad with my favorite fruits (strawberry, blueberry, apple, and watermelon), I have to create a REGEX that matches all of them. Easy! Since the pipe character “|” means OR I could do this:
REGEX 1: strawberry|blueberry|apple|watermelon
The problem with that expression is that REGEX also considers partial matches, and since pineapple also contains “apple,” it would be selected as well... and I don’t like pineapple!
To avoid that, I can use the other two special characters I mentioned before to make an exact match for apple. The caret “^” (begins here) and the dollar sign “$” (ends here). It will look like this:
REGEX 2: strawberry|blueberry|^apple$|watermelon
The expression will select precisely the fruits I want.
But let’s say for demonstration's sake that the fewer characters you use, the cheaper the salad will be. To optimize the expression, I can use the ability for partial matches in REGEX.
Since strawberry and blueberry both contain "berry," and no other fruit in the list does, I can rewrite my expression like this:
Optimized REGEX: berry|^apple$|watermelon
That’s it — now I can get my fruit salad with the right ingredients, and at a lower price.
3 ways of testing your filter expression
As I mentioned before, filter changes are permanent, so you have to make sure your filters and REGEX are correct. There are 3 ways of testing them:
Right from the filter window; just click on “Verify this filter,” quick and easy. However, it's not the most accurate since it only takes a small sample of data.
Using an online REGEX tester; very accurate and colorful, you can also learn a lot from these, since they show you exactly the matching parts and give you a brief explanation of why.
Using an in-table temporary filter in GA; you can test your filter against all your historical data. This is the most precise way of making sure you don’t miss anything.
If you're doing a simple filter or you have plenty of experience, you can use the built-in filter verification. However, if you want to be 100% sure that your REGEX is ok, I recommend you build the expression on the online tester and then recheck it using an in-table filter.
Quick REGEX challenge
Here's a small exercise to get you started. Go to this premade example with the optimized expression from the fruit salad case and test the first 2 REGEX I made. You'll see live how the expressions impact the list.
Now make your own expression to pay as little as possible for the salad.
Remember:
We only want strawberry, blueberry, apple, and watermelon;
The fewer characters you use, the less you pay;
You can do small partial matches, as long as they don’t include the forbidden fruits.
Tip: You can do it with as few as 6 characters.
Now that you know the basics of REGEX, we can continue with the filters below. But I encourage you to put “learn more about REGEX” on your to-do list — they can be incredibly useful not only for GA, but for many tools that allow them.
How to create filters to stop spam, bots, and internal traffic in Google Analytics
Back to our main event: the filters!
Where to start: To avoid being repetitive when describing the filters below, here are the standard steps you need to follow to create them:
Go to the admin section in your Google Analytics (the gear icon at the bottom left corner),
Under the View column (master view), click the button “Filters” (don’t click on “All filters“ in the Account column):
Click the red button “+Add Filter” (if you don’t see it or you can only apply/remove already created filters, then you don’t have edit permissions at the account level. Ask your admin to create them or give you the permissions.):
Then follow the specific configuration for each of the filters below.
The filter window is your best partner for improving the quality of your Analytics data, so it will be a good idea to get familiar with it.
Valid hostname filter (ghost spam, dev environments)
Prevents traffic from:
Ghost spam
Development hostnames
Scraping sites
Cache and archive sites
This filter may be the single most effective solution against spam. In contrast with other commonly shared solutions, the hostname filter is preventative, and it rarely needs to be updated.
Ghost spam earns its name because it never really visits your site. It’s sent directly to the Google Analytics servers using a feature called Measurement Protocol, a tool that under normal circumstances allows tracking from devices that you wouldn’t imagine that could be traced, like coffee machines or refrigerators.
Real users pass through your server, then the data is sent to GA; hence it leaves valid information. Ghost spam is sent directly to GA servers, without knowing your site URL; therefore all data left is fake. Source: carloseo.com
The spammer abuses this feature to simulate visits to your site, most likely using automated scripts to send traffic to randomly generated tracking codes (UA-0000000-1).
Since these hits are random, the spammers don't know who they're hitting; for that reason ghost spam will always leave a fake or (not set) host. Using that logic, by creating a filter that only includes valid hostnames all ghost spam will be left out.
Where to find your hostnames
Now here comes the “tricky” part. To create this filter, you will need, to make a list of your valid hostnames.
A list of what!?
Essentially, a hostname is any place where your GA tracking code is present. You can get this information from the hostname report:
Go to Audience > Select Network > At the top of the table change the primary dimension to Hostname.
If your Analytics is active, you should see at least one: your domain name. If you see more, scan through them and make a list of all the ones that are valid for you.
Types of hostname you can find
The good ones:
Type
Example
Your domain and subdomains
yourdomain.com
Tools connected to your Analytics
YouTube, MailChimp
Payment gateways
Shopify, booking systems
Translation services
Google Translate
Mobile speed-up services
Google weblight
The bad ones (by bad, I mean not useful for your reports):
Type
Example/Description
Staging/development environments
staging.yourdomain.com
Internet archive sites
web.archive.org
Scraping sites that don’t bother to trim the content
The URL of the scraper
Spam
Most of the time they will show their URL, but sometimes they may use the name of a known website to try to fool you. If you see a URL that you don’t recognize, just think, “do I manage it?” If the answer is no, then it isn't your hostname.
(not set) hostname
It usually comes from spam. On rare occasions it's related to tracking code issues.
Below is an example of my hostname report. From the unfiltered view, of course, the master view is squeaky clean.
Now with the list of your good hostnames, make a regular expression. If you only have your domain, then that is your expression; if you have more, create an expression with all of them as we did in the fruit salad example:
Hostname REGEX (example) yourdomain.com|hostname2|hostname3|hostname4
Important! You cannot create more than one “Include hostname filter”; if you do, you will exclude all data. So try to fit all your hostnames into one expression (you have 255 characters).
The “valid hostname filter” configuration:
Filter Name: Include valid hostnames
Filter Type: Custom > Include
Filter Field: Hostname
Filter Pattern: [hostname REGEX you created]
Campaign source filter (Crawler spam, internal sources)
Prevents traffic from:
Crawler spam
Internal third-party tools (Trello, Asana, Pingdom)
Important note: Even if these hits are shown as a referral, the field you should use in the filter is “Campaign source” — the field “Referral” won’t work.
Filter for crawler spam
The second most common type of spam is crawler. They also pretend to be a valid visit by leaving a fake source URL, but in contrast with ghost spam, these do access your site. Therefore, they leave a correct hostname.
You will need to create an expression the same way as the hostname filter, but this time, you will put together the source/URLs of the spammy traffic. The difference is that you can create multiple exclude filters.
Crawler REGEX (example) spam1|spam2|spam3|spam4
Crawler REGEX (pre-built) As I promised, here are latest pre-built crawler expressions that you just need to copy/paste.
The “crawler spam filter” configuration:
Filter Name: Exclude crawler spam 1
Filter Type: Custom > Exclude
Filter Field: Campaign source
Filter Pattern: [crawler REGEX]
Filter for internal third-party tools
Although you can combine your crawler spam filter with internal third-party tools, I like to have them separated, to keep them organized and more accessible for updates.
The “internal tools filter” configuration:
Filter Name: Exclude internal tool sources
Filter Pattern: [tool source REGEX]
Internal Tools REGEX (example) trello|asana|redmine
In case, that one of the tools that you use internally also sends you traffic from real visitors, don’t filter it. Instead, use the “Exclude Internal URL Query” below.
For example, I use Trello, but since I share analytics guides on my site, some people link them from their Trello accounts.
Filters for language spam and other types of spam
The previous two filters will stop most of the spam; however, some spammers use different methods to bypass the previous solutions.
For example, they try to confuse you by showing one of your valid hostnames combined with a well-known source like Apple, Google, or Moz. Even my site has been a target (not saying that everyone knows my site; it just looks like the spammers don’t agree with my guides).
However, even if the source and host look fine, the spammer injects their message in another part of your reports like the keyword, page title, and even as a language.
In those cases, you will have to take the dimension/report where you find the spam and choose that name in the filter. It's important to consider that the name of the report doesn't always match the name in the filter field:
Report name
Filter field
Language
Language settings
Referral
Campaign source
Organic Keyword
Search term
Service Provider
ISP Organization
Network Domain
ISP Domain
Here are a couple of examples.
The “language spam/bot filter” configuration:
Filter Name: Exclude language spam
Filter Type: Custom > Exclude
Filter Field: Language settings
Filter Pattern: [Language REGEX]
Language Spam REGEX (Prebuilt) \s[^\s]*\s|.{15,}|\.|,|^c$
The expression above excludes fake languages that don't meet the required format. For example, take these weird messages appearing instead of regular languages like en-us or es-es:
Examples of language spam
The organic/keyword spam filter configuration:
Filter Name: Exclude organic spam
Filter Type: Custom > Exclude
Filter Field: Search term
Filter Pattern: [keyword REGEX]
Filters for direct bot traffic
Bot traffic is a little trickier to filter because it doesn't leave a source like spam, but it can still be filtered with a bit of patience.
The first thing you should do is enable bot filtering. In my opinion, it should be enabled by default.
Go to the Admin section of your Analytics and click on View Settings. You will find the option “Exclude all hits from known bots and spiders” below the currency selector:
It would be wonderful if this would take care of every bot — a dream come true. However, there's a catch: the key here is the word “known.” This option only takes care of known bots included in the “IAB known bots and spiders list." That's a good start, but far from enough.
There are a lot of “unknown” bots out there that are not included in that list, so you'll have to play detective and search for patterns of direct bot traffic through different reports until you find something that can be safely filtered without risking your real user data.
To start your bot trail search, click on the Segment box at the top of any report, and select the “Direct traffic” segment.
Then navigate through different reports to see if you find anything suspicious.
Some reports to start with:
Service provider
Browser version
Network domain
Screen resolution
Flash version
Country/City
Signs of bot traffic
Although bots are hard to detect, there are some signals you can follow:
An unnatural increase of direct traffic
Old versions (browsers, OS, Flash)
They visit the home page only (usually represented by a slash “/” in GA)
Extreme metrics:
Bounce rate close to 100%,
Session time close to 0 seconds,
1 page per session,
100% new users.
Important! If you find traffic that checks off many of these signals, it is likely bot traffic. However, not all entries with these characteristics are bots, and not all bots match these patterns, so be cautious.
Perhaps the most useful report that has helped me identify bot traffic is the “Service Provider” report. Large corporations frequently use their own Internet service provider name.
I also have a pre-built expression for ISP bots, similar to the crawler expressions.
The bot ISP filter configuration:
Filter Name: Exclude bots by ISP
Filter Type: Custom > Exclude
Filter Field: ISP organization
Filter Pattern: [ISP provider REGEX]
ISP provider bots REGEX (prebuilt) hubspot|^google\sllc$|^google\sinc\.$|alibaba\.com\sllc|ovh\shosting\sinc\. Latest ISP bot expression
IP filter for internal traffic
We already covered different types of internal traffic, the one from test sites (with the hostname filter), and the one from third-party tools (with the campaign source filter).
Now it's time to look at the most common and damaging of all: the traffic generated directly by you or any member of your team while working on any task for the site.
To deal with this, the standard solution is to create a filter that excludes the public IP (not private) of all locations used to work on the site.
Examples of places/people that should be filtered
Office
Support
Home
Developers
Hotel
Coffee shop
Bar
Mall
Any place that is regularly used to work on your site
To find the public IP of the location you are working at, simply search for "my IP" in Google. You will see one of these versions:
IP version
Example
Short IPv4
1.23.45.678
Long IPv6
2001:0db8:85a3:0000:0000:8a2e:0370:7334
No matter which version you see, make a list with the IP of each place and put them together with a REGEX, the same way we did with other filters.
IP address expression: IP1|IP2|IP3|IP4 and so on.
The static IP filter configuration:
Filter Name: Exclude internal traffic (IP)
Filter Type: Custom > Exclude
Filter Field: IP Address
Filter Pattern: [The IP expression]
Cases when this filter won’t be optimal:
There are some cases in which the IP filter won’t be as efficient as it used to be:
You use IP anonymization (required by the GDPR regulation). When you anonymize the IP in GA, the last part of the IP is changed to 0. This means that if you have 1.23.45.678, GA will pass it as 1.23.45.0, so you need to put it like that in your filter. The problem is that you might be excluding other IPs that are not yours.
Your Internet provider changes your IP frequently (Dynamic IP). This has become a common issue lately, especially if you have the long version (IPv6).
Your team works from multiple locations. The way of working is changing — now, not all companies operate from a central office. It's often the case that some will work from home, others from the train, in a coffee shop, etc. You can still filter those places; however, maintaining the list of IPs to exclude can be a nightmare,
You or your team travel frequently. Similar to the previous scenario, if you or your team travels constantly, there's no way you can keep up with the IP filters.
If you check one or more of these scenarios, then this filter is not optimal for you; I recommend you to try the “Advanced internal URL query filter” below.
URL query filter for internal traffic
If there are dozens or hundreds of employees in the company, it's extremely difficult to exclude them when they're traveling, accessing the site from their personal locations, or mobile networks.
Here’s where the URL query comes to the rescue. To use this filter you just need to add a query parameter. I add “?internal" to any link your team uses to access your site:
Internal newsletters
Management tools (Trello, Redmine)
Emails to colleagues
Also works by directly adding it in the browser address bar
Basic internal URL query filter
The basic version of this solution is to create a filter to exclude any URL that contains the query “?internal”.
Filter Name: Exclude Internal Traffic (URL Query)
Filter Type: Custom > Exclude
Filter Field: Request URI
Filter Pattern: \?internal
This solution is perfect for instances were the user will most likely stay on the landing page, for example, when sending a newsletter to all employees to check a new post.
If the user will likely visit more than the landing page, then the subsequent pages will be recorded.
Advanced internal URL query filter
This solution is the champion of all internal traffic filters!
It’s a more comprehensive version of the previous solution and works by filtering internal traffic dynamically using Google Tag Manager, a GA custom dimension, and cookies.
Although this solution is a bit more complicated to set up, once it's in place:
It doesn’t need maintenance
Any team member can use it, no need to explain techy stuff
Can be used from any location
Can be used from any device, and any browser
To activate the filter, you just have to add the text “?internal” to any URL of the website.
That will insert a small cookie in the browser that will tell GA not to record the visits from that browser.
And the best of it is that the cookie will stay there for a year (unless it is manually removed), so the user doesn’t have to add “?internal” every time.
Bonus filter: Include only internal traffic
In some occasions, it's interesting to know the traffic generated internally by employees — maybe because you want to measure the success of an internal campaign or just because you're a curious person.
In that case, you should create an additional view, call it “Internal Traffic Only,” and use one of the internal filters above. Just one! Because if you have multiple include filters, the hit will need to match all of them to be counted.
If you configured the “Advanced internal URL query” filter, use that one. If not, choose one of the others.
The configuration is exactly the same — you only need to change “Exclude” for “Include.”
Cleaning historical data
The filters will prevent future hits from junk traffic.
But what about past affected data?
I know I told you that deleting aggregated historical data is not possible in GA. However, there's still a way to temporarily clean up at least some of the nasty traffic that has already polluted your reports.
For this, we'll use an advanced segment (a subset of your Analytics data). There are built-in segments like “Organic” or “Mobile,” but you can also build one using your own set of rules.
To clean our historical data, we will build a segment using all the expressions from the filters above as conditions (except the ones from the IP filter, because IPs are not stored in GA; hence, they can’t be segmented).
To help you get started, you can import this segment template.
You just need to follow the instructions on that page and replace the placeholders. Here is how it looks:
In the actual template, all text is black; the colors are just to help you visualize the conditions.
After importing it, to select the segment:
Click on the box that says “All users” at the top of any of your reports
From your list of segments, check the one that says “0. All Users - Clean”
Lastly, uncheck the “All Users”
Now you can navigate through your reaports and all the junk traffic included in the segment will be removed.
A few things to consider when using this segment:
Segments have to be selected each time. A way of having it selected by default is by adding a bookmark when the segment is selected.
You can remove or add conditions if you need to.
You can edit the segment at any time to update it or add conditions (open the list of segments, then click “Actions” then “Edit”).
The hostname expression and third-party tools expression are different for each site.
If your site has a large volume of traffic, segments may sample your data when selected, so if you see the little shield icon at the top of your reports go yellow (normally is green), try choosing a shorter period (i.e. 1 year, 6 months, one month).
Conclusion: Which cake would you eat?
Having real and accurate data is essential for your Google Analytics to report as you would expect.
But if you haven’t filtered it properly, it’s almost certain that it will be filled with all sorts of junk and artificial information.
And the worst part is that if don't realize that your reports contain bogus data, you will likely make wrong or poor decisions when deciding on the next steps for your site or business.
The filters I share above will help you prevent the three most harmful threats that are polluting your Google Analytics and don’t let you get a clear view of the actual performance of your site: spam, bots, and internal traffic.
Once these filters are in place, you can rest assured that your efforts (and money!) won’t be wasted on analyzing deceptive Google Analytics data, and your decisions will be based on solid information.
And the benefits don’t stop there. If you're using other tools that import data from GA, for example, WordPress plugins like GADWP, excel add-ins like AnalyticsEdge, or SEO suites like Moz Pro, the benefits will trickle down to all of them as well.
Besides highlighting the importance of the filters in GA (which I hope I made clear by now), I would also love that for the preparation of these filters to give you the curiosity and basis to create others that will allow you to do all sorts of remarkable things with your data.
Remember, filters not only allow you to keep away junk, you can also use them to rearrange your real user information — but more on that on another occasion.
That’s it! I hope these tips help you make more sense of your data and make accurate decisions.
Have any questions, feedback, experiences? Let me know in the comments, or reach me on Twitter @carlosesal.
Complementary resources:
Google Analytics spam & bots (FAQ): Common data quality questions and concerns answered
Ultimate guide to stopping bots and Google Analytics spam (Always up to date)
Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!
bạn xem thêm tại: https://ift.tt/2mXjlRS Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY xem thêm tại: https://ift.tt/2mb4VST để biết thêm về địa chỉ bán tai nghe không dây giá rẻ Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics https://ift.tt/2l5lPyY Bạn có thể xem thêm địa chỉ mua tai nghe không dây tại đây https://ift.tt/2mb4VST
0 notes
imapplied · 6 years
Text
Finding Website Performance Pain Points
In life, the only things we can be sure will certainly happen are death, taxes and website and software performance pain points.
If you rely on tools to test your website or application, you may never find what confused your users. Tools can show where problems are found within the code. Tools can look for specific pages and provide insights into how long users remain on a page and where they go next. They don’t have any idea why humans make the choices they do.
SEO tools, page speed tools, mobile emulation software, and accessibility testing tools are not programmed to know what to do on a bad day when the car breaks down on the way to work and the driver must search for a local automotive service business. If you’re the owner of an automotive service station website, you need more than a website brochure to generate a satisfying user experience.
Somewhere in the data of that website is an out of town salesperson who one day stood in the pouring rain on the side of a busy road popping the hood of their rental car, only to find a serious problem. They become frustrated, upset at being late for an appointment, start digging for the rental car paperwork and dialing up places for help in an unfamiliar town. What does that look like in your data?
Do you see that story? Can you tell from the data whether your website had what that person needed? Did they have trouble locating a phone number? Did the pages load quickly? Could they read the content? Was your website the one designed to help the person who needed help in an emergency? Was there enough information provided for that person to remember your business name when they clicked away by accident because they were in a stressful situation?
When putting together a plan for developing a website or application, the user experience is often left out. I know this because I’m hired after projects are launched to figure out why they’re not meeting business, performance or conversions expectations. Their data from Google Analytics are a horror movie. Stakeholders are bug eyed crazy, seeking someone to blame. Most certainly they will not find fault with the marketing department. They will blame the SEO who didn’t get it ranked correctly, or the programmer who didn’t code it to load fast enough. Or the user interface designer who didn’t make it accessible. Anything but what was needed the most before it met the public.
An untested design will not generate revenue.
Looking at it another way, when we want to buy a new car or blender or lawn mower, we typically will research it first. We compare products, read reviews, look for consumer reports data and check for safety ratings. In other words, we’re more willing to choose a tested and customer-valued product.
So why do we expect website visitors to use untested websites?
Always look for user pain points.
What is a Pain Point?
We experience them every time we go on the web in search of something we want. Say, for example, that you and a friend want to search for and join a local yoga or fitness center, so you can be workout buddies. If you were to ask your friend to describe their web journey, you might share similar habits and follow similar steps but what positively bothers you may not annoy them. What you consider broken or confusing may not be broken or confusing for them.
We do have an idea, however, for what drives users crazy because there are people studying how we use websites, search engines, software and hardware. Patterns appear. User testing provides personalized feedback. Planned experiments gather data that is later analyzed for case studies.
Some design fads, for instance, cause us to become angry because they prevent us from completing a task. That’s a pain point. After a while, enough data is collected from user and usability testing to finally convince the design world that what they believe is a creative design element is infuriating to users.
For example, gray colored text on blue colored background or light gray text anywhere, especially in a small font size, is a fad and a pain point because the gray color prevents many users from seeing the content they need.
Another pain point is redundant links on a page that go to the same page, but the link text is changed to be optimized for SEO reasons or because the designer has no faith that anyone will click on the first link to the page, so they pop it in again and again. Forcing users to go in circles is a pain point.
The mobile menu hamburger symbol could be considered a pain point for some people because it contains no useful content and must be activated to get to the site’s navigation. People are lazy. For years we had only to glance at the desktop header to figure out what the site offered and how to find what we need within it.
One example of a pain point that can depend on the user’s experience with technology and computer devices is a link that opens a new window when clicked. On a mobile device, new windows are something that requires learning how the OS handles that event and then remembering how to use it and then figuring out how to get back to the previous page without accidentally clicking the wrong window. Or some version of this. New windows sometimes present an entirely new page layout or take users off-site or are closed by accident. Some users just hate them.
A common pain point is a poorly structured information architecture with navigation that does not contain breadcrumb navigation. That breadcrumb navigation is the most valuable content on a webpage because it shows the user where they are within the house, the room they came from, and how to get back to the main dining hall. Not providing directions in a clearly visible area is a pain point.
Forms that are not designed for mobile transactions, complicated apps that throw errors when really the fault is the app’s design, not the user’s confusion, sliders and videos set to run automatically and hidden links that must be activated with a mouse to be seen are pain points. Touch screens and voice search are part of the user experience but may not be included in testing before launch.
Change your perspective to find new opportunities to increase conversions.
Playing Detective
The most valuable lesson I’ve learned from usability testing is to put myself in the role of users. As a detective in search of clues, I play many roles. I create characters and perform tasks based on the company’s business requirements and target market data, and interact with each page, form or application while in character, just like an actor would.
I need to know my characters. This requires a great deal of research into user behavior, human factors, and neuroscience. I comb through research papers and studies to get the most updated findings looking for ways to learn how people think, purchase, search, read, share, subscribe, and what they consider pain points.
Manual testing methodologies like content mapping, journey mapping, user testing, and cognitive walkthroughs dig up facts and findings that may be analyzed along with data gathered from other resources and tools.
Performance pain points tend to be hidden or don’t appear until activated by people. When we see and understand web site pain points we can make repairs and enhancements to the user experience based on real situations and user stories. Take the time to listen and watch and add those observations to your data. Keep testing and tracking the results. Signs of healing will appear in your data, increased sales and improved conversions.
First Found Here
from https://www.imapplied.co.za/seo/finding-website-performance-pain-points/
0 notes
lawrenceseitz22 · 6 years
Text
Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics
Posted by Carlosesal
There is no doubt that Google Analytics is one of the most important tools you could use to understand your users' behavior and measure the performance of your site. There's a reason it's used by millions across the world.
But despite being such an essential part of the decision-making process for many businesses and blogs, I often find sites (of all sizes) that do little or no data filtering after installing the tracking code, which is a huge mistake.
Think of a Google Analytics property without filtered data as one of those styrofoam cakes with edible parts. It may seem genuine from the top, and it may even feel right when you cut a slice, but as you go deeper and deeper you find that much of it is artificial.
If you're one of those that haven’t properly configured their Google Analytics and you only pay attention to the summary reports, you probably won't notice that there's all sorts of bogus information mixed in with your real user data.
And as a consequence, you won't realize that your efforts are being wasted on analyzing data that doesn't represent the actual performance of your site.
To make sure you're getting only the real ingredients and prevent you from eating that slice of styrofoam, I'll show you how to use the tools that GA provides to eliminate all the artificial excess that inflates your reports and corrupts your data.
Common Google Analytics threats
As most of the people I've worked with know, I’ve always been obsessed with the accuracy of data, mainly because as a marketer/analyst there's nothing worse than realizing that you’ve made a wrong decision because your data wasn’t accurate. That’s why I’m continually exploring new ways of improving it.
As a result of that research, I wrote my first Moz post about the importance of filtering in Analytics, specifically about ghost spam, which was a significant problem at that time and still is (although to a lesser extent).
While the methods described there are still quite useful, I’ve since been researching solutions for other types of Google Analytics spam and a few other threats that might not be as annoying, but that are equally or even more harmful to your Analytics.
Let’s review, one by one.
Ghosts, crawlers, and other types of spam
The GA team has done a pretty good job handling ghost spam. The amount of it has been dramatically reduced over the last year, compared to the outbreak in 2015/2017.
However, the millions of current users and the thousands of new, unaware users that join every day, plus the majority's curiosity to discover why someone is linking to their site, make Google Analytics too attractive a target for the spammers to just leave it alone.
The same logic can be applied to any widely used tool: no matter what security measures it has, there will always be people trying to abuse its reach for their own interest. Thus, it's wise to add an extra security layer.
Take, for example, the most popular CMS: Wordpress. Despite having some built-in security measures, if you don't take additional steps to protect it (like setting a strong username and password or installing a security plugin), you run the risk of being hacked.
The same happens to Google Analytics, but instead of plugins, you use filters to protect it.
In which reports can you look for spam?
Spam traffic will usually show as a Referral, but it can appear in any part of your reports, even in unsuspecting places like a language or page title.
Sometimes spammers will try to fool by using misleading URLs that are very similar to known websites, or they may try to get your attention by using unusual characters and emojis in the source name.
Independently of the type of spam, there are 3 things you always should do when you think you found one in your reports:
Never visit the suspicious URL. Most of the time they'll try to sell you something or promote their service, but some spammers might have some malicious scripts on their site.
This goes without saying, but never install scripts from unknown sites; if for some reason you did, remove it immediately and scan your site for malware.
Filter out the spam in your Google Analytics to keep your data clean (more on that below).
If you're not sure whether an entry on your report is real, try searching for the URL in quotes (“example.com”). Your browser won’t open the site, but instead will show you the search results; if it is spam, you'll usually see posts or forums complaining about it.
If you still can’t find information about that particular entry, give me a shout — I might have some knowledge for you.
Bot traffic
A bot is a piece of software that runs automated scripts over the Internet for different purposes.
There are all kinds of bots. Some have good intentions, like the bots used to check copyrighted content or the ones that index your site for search engines, and others not so much, like the ones scraping your content to clone it.
2016 bot traffic report. Source: Incapsula
In either case, this type of traffic is not useful for your reporting and might be even more damaging than spam both because of the amount and because it's harder to identify (and therefore to filter it out).
It's worth mentioning that bots can be blocked from your server to stop them from accessing your site completely, but this usually involves editing sensible files that require high technical knowledge, and as I said before, there are good bots too.
So, unless you're receiving a direct attack that's skewing your resources, I recommend you just filter them in Google Analytics.
In which reports can you look for bot traffic?
Bots will usually show as Direct traffic in Google Analytics, so you'll need to look for patterns in other dimensions to be able to filter it out. For example, large companies that use bots to navigate the Internet will usually have a unique service provider.
I’ll go into more detail on this below.
Internal traffic
Most users get worried and anxious about spam, which is normal — nobody likes weird URLs showing up in their reports. However, spam isn't the biggest threat to your Google Analytics.
You are!
The traffic generated by people (and bots) working on the site is often overlooked despite the huge negative impact it has. The main reason it's so damaging is that in contrast to spam, internal traffic is difficult to identify once it hits your Analytics, and it can easily get mixed in with your real user data.
There are different types of internal traffic and different ways of dealing with it.
Direct internal traffic
Testers, developers, marketing team, support, outsourcing... the list goes on. Any member of the team that visits the company website or blog for any purpose could be contributing.
In which reports can you look for direct internal traffic?
Unless your company uses a private ISP domain, this traffic is tough to identify once it hits you, and will usually show as Direct in Google Analytics.
Third-party sites/tools
This type of internal traffic includes traffic generated directly by you or your team when using tools to work on the site; for example, management tools like Trello or Asana,
It also considers traffic coming from bots doing automatic work for you; for example, services used to monitor the performance of your site, like Pingdom or GTmetrix.
Some types of tools you should consider:
Project management
Social media management
Performance/uptime monitoring services
SEO tools
In which reports can you look for internal third-party tools traffic?
This traffic will usually show as Referral in Google Analytics.
Development/staging environments
Some websites use a test environment to make changes before applying them to the main site. Normally, these staging environments have the same tracking code as the production site, so if you don’t filter it out, all the testing will be recorded in Google Analytics.
In which reports can you look for development/staging environments?
This traffic will usually show as Direct in Google Analytics, but you can find it under its own hostname (more on this later).
Web archive sites and cache services
Archive sites like the Wayback Machine offer historical views of websites. The reason you can see those visits on your Analytics — even if they are not hosted on your site — is that the tracking code was installed on your site when the Wayback Machine bot copied your content to its archive.
One thing is for certain: when someone goes to check how your site looked in 2015, they don't have any intention of buying anything from your site — they're simply doing it out of curiosity, so this traffic is not useful.
In which reports can you look for traffic from web archive sites and cache services?
You can also identify this traffic on the hostname report.
A basic understanding of filters
The solutions described below use Google Analytics filters, so to avoid problems and confusion, you'll need some basic understanding of how they work and check some prerequisites.
Things to consider before using filters:
1. Create an unfiltered view.
Before you do anything, it's highly recommendable to make an unfiltered view; it will help you track the efficacy of your filters. Plus, it works as a backup in case something goes wrong.
2. Make sure you have the correct permissions.
You will need edit permissions at the account level to create filters; edit permissions at view or property level won’t work.
3. Filters don’t work retroactively.
In GA, aggregated historical data can’t be deleted, at least not permanently. That's why the sooner you apply the filters to your data, the better.
4. The changes made by filters are permanent!
If your filter is not correctly configured because you didn’t enter the correct expression (missing relevant entries, a typo, an extra space, etc.), you run the risk of losing valuable data FOREVER; there is no way of recovering filtered data.
But don’t worry — if you follow the recommendations below, you shouldn’t have a problem.
5. Wait for it.
Most of the time you can see the effect of the filter within minutes or even seconds after applying it; however, officially it can take up to twenty-four hours, so be patient.
Types of filters
There are two main types of filters: predefined and custom.
Predefined filters are very limited, so I rarely use them. I prefer to use the custom ones because they allow regular expressions, which makes them a lot more flexible.
Within the custom filters, there are five types: exclude, include, lowercase/uppercase, search and replace, and advanced.
Here we will use the first two: exclude and include. We'll save the rest for another occasion.
Essentials of regular expressions
If you already know how to work with regular expressions, you can jump to the next section.
REGEX (short for regular expressions) are text strings prepared to match patterns with the use of some special characters. These characters help match multiple entries in a single filter.
Don’t worry if you don’t know anything about them. We will use only the basics, and for some filters, you will just have to COPY-PASTE the expressions I pre-built.
REGEX special characters
There are many special characters in REGEX, but for basic GA expressions we can focus on three:
^ The caret: used to indicate the beginning of a pattern,
$ The dollar sign: used to indicate the end of a pattern,
| The pipe or bar: means "OR," and it is used to indicate that you are starting a new pattern.
When using the pipe character, you should never ever:
Put it at the beginning of the expression,
Put it at the end of the expression,
Put 2 or more together.
Any of those will mess up your filter and probably your Analytics.
A simple example of REGEX usage
Let's say I go to a restaurant that has an automatic machine that makes fruit salad, and to choose the fruit, you should use regular xxpressions.
This super machine has the following fruits to choose from: strawberry, orange, blueberry, apple, pineapple, and watermelon.
To make a salad with my favorite fruits (strawberry, blueberry, apple, and watermelon), I have to create a REGEX that matches all of them. Easy! Since the pipe character “|” means OR I could do this:
REGEX 1: strawberry|blueberry|apple|watermelon
The problem with that expression is that REGEX also considers partial matches, and since pineapple also contains “apple,” it would be selected as well... and I don’t like pineapple!
To avoid that, I can use the other two special characters I mentioned before to make an exact match for apple. The caret “^” (begins here) and the dollar sign “$” (ends here). It will look like this:
REGEX 2: strawberry|blueberry|^apple$|watermelon
The expression will select precisely the fruits I want.
But let’s say for demonstration's sake that the fewer characters you use, the cheaper the salad will be. To optimize the expression, I can use the ability for partial matches in REGEX.
Since strawberry and blueberry both contain "berry," and no other fruit in the list does, I can rewrite my expression like this:
Optimized REGEX: berry|^apple$|watermelon
That’s it — now I can get my fruit salad with the right ingredients, and at a lower price.
3 ways of testing your filter expression
As I mentioned before, filter changes are permanent, so you have to make sure your filters and REGEX are correct. There are 3 ways of testing them:
Right from the filter window; just click on “Verify this filter,” quick and easy. However, it's not the most accurate since it only takes a small sample of data.
Using an online REGEX tester; very accurate and colorful, you can also learn a lot from these, since they show you exactly the matching parts and give you a brief explanation of why.
Using an in-table temporary filter in GA; you can test your filter against all your historical data. This is the most precise way of making sure you don’t miss anything.
If you're doing a simple filter or you have plenty of experience, you can use the built-in filter verification. However, if you want to be 100% sure that your REGEX is ok, I recommend you build the expression on the online tester and then recheck it using an in-table filter.
Quick REGEX challenge
Here's a small exercise to get you started. Go to this premade example with the optimized expression from the fruit salad case and test the first 2 REGEX I made. You'll see live how the expressions impact the list.
Now make your own expression to pay as little as possible for the salad.
Remember:
We only want strawberry, blueberry, apple, and watermelon;
The fewer characters you use, the less you pay;
You can do small partial matches, as long as they don’t include the forbidden fruits.
Tip: You can do it with as few as 6 characters.
Now that you know the basics of REGEX, we can continue with the filters below. But I encourage you to put “learn more about REGEX” on your to-do list — they can be incredibly useful not only for GA, but for many tools that allow them.
How to create filters to stop spam, bots, and internal traffic in Google Analytics
Back to our main event: the filters!
Where to start: To avoid being repetitive when describing the filters below, here are the standard steps you need to follow to create them:
Go to the admin section in your Google Analytics (the gear icon at the bottom left corner),
Under the View column (master view), click the button “Filters” (don’t click on “All filters“ in the Account column):
Click the red button “+Add Filter” (if you don’t see it or you can only apply/remove already created filters, then you don’t have edit permissions at the account level. Ask your admin to create them or give you the permissions.):
Then follow the specific configuration for each of the filters below.
The filter window is your best partner for improving the quality of your Analytics data, so it will be a good idea to get familiar with it.
Valid hostname filter (ghost spam, dev environments)
Prevents traffic from:
Ghost spam
Development hostnames
Scraping sites
Cache and archive sites
This filter may be the single most effective solution against spam. In contrast with other commonly shared solutions, the hostname filter is preventative, and it rarely needs to be updated.
Ghost spam earns its name because it never really visits your site. It’s sent directly to the Google Analytics servers using a feature called Measurement Protocol, a tool that under normal circumstances allows tracking from devices that you wouldn’t imagine that could be traced, like coffee machines or refrigerators.
Real users pass through your server, then the data is sent to GA; hence it leaves valid information. Ghost spam is sent directly to GA servers, without knowing your site URL; therefore all data left is fake. Source: carloseo.com
The spammer abuses this feature to simulate visits to your site, most likely using automated scripts to send traffic to randomly generated tracking codes (UA-0000000-1).
Since these hits are random, the spammers don't know who they're hitting; for that reason ghost spam will always leave a fake or (not set) host. Using that logic, by creating a filter that only includes valid hostnames all ghost spam will be left out.
Where to find your hostnames
Now here comes the “tricky” part. To create this filter, you will need, to make a list of your valid hostnames.
A list of what!?
Essentially, a hostname is any place where your GA tracking code is present. You can get this information from the hostname report:
Go to Audience > Select Network > At the top of the table change the primary dimension to Hostname.
If your Analytics is active, you should see at least one: your domain name. If you see more, scan through them and make a list of all the ones that are valid for you.
Types of hostname you can find
The good ones:
Type
Example
Your domain and subdomains
yourdomain.com
Tools connected to your Analytics
YouTube, MailChimp
Payment gateways
Shopify, booking systems
Translation services
Google Translate
Mobile speed-up services
Google weblight
The bad ones (by bad, I mean not useful for your reports):
Type
Example/Description
Staging/development environments
staging.yourdomain.com
Internet archive sites
web.archive.org
Scraping sites that don’t bother to trim the content
The URL of the scraper
Spam
Most of the time they will show their URL, but sometimes they may use the name of a known website to try to fool you. If you see a URL that you don’t recognize, just think, “do I manage it?” If the answer is no, then it isn't your hostname.
(not set) hostname
It usually comes from spam. On rare occasions it's related to tracking code issues.
Below is an example of my hostname report. From the unfiltered view, of course, the master view is squeaky clean.
Now with the list of your good hostnames, make a regular expression. If you only have your domain, then that is your expression; if you have more, create an expression with all of them as we did in the fruit salad example:
Hostname REGEX (example) yourdomain.com|hostname2|hostname3|hostname4
Important! You cannot create more than one “Include hostname filter”; if you do, you will exclude all data. So try to fit all your hostnames into one expression (you have 255 characters).
The “valid hostname filter” configuration:
Filter Name: Include valid hostnames
Filter Type: Custom > Include
Filter Field: Hostname
Filter Pattern: [hostname REGEX you created]
Campaign source filter (Crawler spam, internal sources)
Prevents traffic from:
Crawler spam
Internal third-party tools (Trello, Asana, Pingdom)
Important note: Even if these hits are shown as a referral, the field you should use in the filter is “Campaign source” — the field “Referral” won’t work.
Filter for crawler spam
The second most common type of spam is crawler. They also pretend to be a valid visit by leaving a fake source URL, but in contrast with ghost spam, these do access your site. Therefore, they leave a correct hostname.
You will need to create an expression the same way as the hostname filter, but this time, you will put together the source/URLs of the spammy traffic. The difference is that you can create multiple exclude filters.
Crawler REGEX (example) spam1|spam2|spam3|spam4
Crawler REGEX (pre-built) As I promised, here are latest pre-built crawler expressions that you just need to copy/paste.
The “crawler spam filter” configuration:
Filter Name: Exclude crawler spam 1
Filter Type: Custom > Exclude
Filter Field: Campaign source
Filter Pattern: [crawler REGEX]
Filter for internal third-party tools
Although you can combine your crawler spam filter with internal third-party tools, I like to have them separated, to keep them organized and more accessible for updates.
The “internal tools filter” configuration:
Filter Name: Exclude internal tool sources
Filter Pattern: [tool source REGEX]
Internal Tools REGEX (example) trello|asana|redmine
In case, that one of the tools that you use internally also sends you traffic from real visitors, don’t filter it. Instead, use the “Exclude Internal URL Query” below.
For example, I use Trello, but since I share analytics guides on my site, some people link them from their Trello accounts.
Filters for language spam and other types of spam
The previous two filters will stop most of the spam; however, some spammers use different methods to bypass the previous solutions.
For example, they try to confuse you by showing one of your valid hostnames combined with a well-known source like Apple, Google, or Moz. Even my site has been a target (not saying that everyone knows my site; it just looks like the spammers don’t agree with my guides).
However, even if the source and host look fine, the spammer injects their message in another part of your reports like the keyword, page title, and even as a language.
In those cases, you will have to take the dimension/report where you find the spam and choose that name in the filter. It's important to consider that the name of the report doesn't always match the name in the filter field:
Report name
Filter field
Language
Language settings
Referral
Campaign source
Organic Keyword
Search term
Service Provider
ISP Organization
Network Domain
ISP Domain
Here are a couple of examples.
The “language spam/bot filter” configuration:
Filter Name: Exclude language spam
Filter Type: Custom > Exclude
Filter Field: Language settings
Filter Pattern: [Language REGEX]
Language Spam REGEX (Prebuilt) \s[^\s]*\s|.{15,}|\.|,|^c$
The expression above excludes fake languages that don't meet the required format. For example, take these weird messages appearing instead of regular languages like en-us or es-es:
Examples of language spam
The organic/keyword spam filter configuration:
Filter Name: Exclude organic spam
Filter Type: Custom > Exclude
Filter Field: Search term
Filter Pattern: [keyword REGEX]
Filters for direct bot traffic
Bot traffic is a little trickier to filter because it doesn't leave a source like spam, but it can still be filtered with a bit of patience.
The first thing you should do is enable bot filtering. In my opinion, it should be enabled by default.
Go to the Admin section of your Analytics and click on View Settings. You will find the option “Exclude all hits from known bots and spiders” below the currency selector:
It would be wonderful if this would take care of every bot — a dream come true. However, there's a catch: the key here is the word “known.” This option only takes care of known bots included in the “IAB known bots and spiders list." That's a good start, but far from enough.
There are a lot of “unknown” bots out there that are not included in that list, so you'll have to play detective and search for patterns of direct bot traffic through different reports until you find something that can be safely filtered without risking your real user data.
To start your bot trail search, click on the Segment box at the top of any report, and select the “Direct traffic” segment.
Then navigate through different reports to see if you find anything suspicious.
Some reports to start with:
Service provider
Browser version
Network domain
Screen resolution
Flash version
Country/City
Signs of bot traffic
Although bots are hard to detect, there are some signals you can follow:
An unnatural increase of direct traffic
Old versions (browsers, OS, Flash)
They visit the home page only (usually represented by a slash “/” in GA)
Extreme metrics:
Bounce rate close to 100%,
Session time close to 0 seconds,
1 page per session,
100% new users.
Important! If you find traffic that checks off many of these signals, it is likely bot traffic. However, not all entries with these characteristics are bots, and not all bots match these patterns, so be cautious.
Perhaps the most useful report that has helped me identify bot traffic is the “Service Provider” report. Large corporations frequently use their own Internet service provider name.
I also have a pre-built expression for ISP bots, similar to the crawler expressions.
The bot ISP filter configuration:
Filter Name: Exclude bots by ISP
Filter Type: Custom > Exclude
Filter Field: ISP organization
Filter Pattern: [ISP provider REGEX]
ISP provider bots REGEX (prebuilt) hubspot|^google\sllc$|^google\sinc\.$|alibaba\.com\sllc|ovh\shosting\sinc\. Latest ISP bot expression
IP filter for internal traffic
We already covered different types of internal traffic, the one from test sites (with the hostname filter), and the one from third-party tools (with the campaign source filter).
Now it's time to look at the most common and damaging of all: the traffic generated directly by you or any member of your team while working on any task for the site.
To deal with this, the standard solution is to create a filter that excludes the public IP (not private) of all locations used to work on the site.
Examples of places/people that should be filtered
Office
Support
Home
Developers
Hotel
Coffee shop
Bar
Mall
Any place that is regularly used to work on your site
To find the public IP of the location you are working at, simply search for "my IP" in Google. You will see one of these versions:
IP version
Example
Short IPv4
1.23.45.678
Long IPv6
2001:0db8:85a3:0000:0000:8a2e:0370:7334
No matter which version you see, make a list with the IP of each place and put them together with a REGEX, the same way we did with other filters.
IP address expression: IP1|IP2|IP3|IP4 and so on.
The static IP filter configuration:
Filter Name: Exclude internal traffic (IP)
Filter Type: Custom > Exclude
Filter Field: IP Address
Filter Pattern: [The IP expression]
Cases when this filter won’t be optimal:
There are some cases in which the IP filter won’t be as efficient as it used to be:
You use IP anonymization (required by the GDPR regulation). When you anonymize the IP in GA, the last part of the IP is changed to 0. This means that if you have 1.23.45.678, GA will pass it as 1.23.45.0, so you need to put it like that in your filter. The problem is that you might be excluding other IPs that are not yours.
Your Internet provider changes your IP frequently (Dynamic IP). This has become a common issue lately, especially if you have the long version (IPv6).
Your team works from multiple locations. The way of working is changing — now, not all companies operate from a central office. It's often the case that some will work from home, others from the train, in a coffee shop, etc. You can still filter those places; however, maintaining the list of IPs to exclude can be a nightmare,
You or your team travel frequently. Similar to the previous scenario, if you or your team travels constantly, there's no way you can keep up with the IP filters.
If you check one or more of these scenarios, then this filter is not optimal for you; I recommend you to try the “Advanced internal URL query filter” below.
URL query filter for internal traffic
If there are dozens or hundreds of employees in the company, it's extremely difficult to exclude them when they're traveling, accessing the site from their personal locations, or mobile networks.
Here’s where the URL query comes to the rescue. To use this filter you just need to add a query parameter. I add “?internal" to any link your team uses to access your site:
Internal newsletters
Management tools (Trello, Redmine)
Emails to colleagues
Also works by directly adding it in the browser address bar
Basic internal URL query filter
The basic version of this solution is to create a filter to exclude any URL that contains the query “?internal”.
Filter Name: Exclude Internal Traffic (URL Query)
Filter Type: Custom > Exclude
Filter Field: Request URI
Filter Pattern: \?internal
This solution is perfect for instances were the user will most likely stay on the landing page, for example, when sending a newsletter to all employees to check a new post.
If the user will likely visit more than the landing page, then the subsequent pages will be recorded.
Advanced internal URL query filter
This solution is the champion of all internal traffic filters!
It’s a more comprehensive version of the previous solution and works by filtering internal traffic dynamically using Google Tag Manager, a GA custom dimension, and cookies.
Although this solution is a bit more complicated to set up, once it's in place:
It doesn’t need maintenance
Any team member can use it, no need to explain techy stuff
Can be used from any location
Can be used from any device, and any browser
To activate the filter, you just have to add the text “?internal” to any URL of the website.
That will insert a small cookie in the browser that will tell GA not to record the visits from that browser.
And the best of it is that the cookie will stay there for a year (unless it is manually removed), so the user doesn’t have to add “?internal” every time.
Bonus filter: Include only internal traffic
In some occasions, it's interesting to know the traffic generated internally by employees — maybe because you want to measure the success of an internal campaign or just because you're a curious person.
In that case, you should create an additional view, call it “Internal Traffic Only,” and use one of the internal filters above. Just one! Because if you have multiple include filters, the hit will need to match all of them to be counted.
If you configured the “Advanced internal URL query” filter, use that one. If not, choose one of the others.
The configuration is exactly the same — you only need to change “Exclude” for “Include.”
Cleaning historical data
The filters will prevent future hits from junk traffic.
But what about past affected data?
I know I told you that deleting aggregated historical data is not possible in GA. However, there's still a way to temporarily clean up at least some of the nasty traffic that has already polluted your reports.
For this, we'll use an advanced segment (a subset of your Analytics data). There are built-in segments like “Organic” or “Mobile,” but you can also build one using your own set of rules.
To clean our historical data, we will build a segment using all the expressions from the filters above as conditions (except the ones from the IP filter, because IPs are not stored in GA; hence, they can’t be segmented).
To help you get started, you can import this segment template.
You just need to follow the instructions on that page and replace the placeholders. Here is how it looks:
In the actual template, all text is black; the colors are just to help you visualize the conditions.
After importing it, to select the segment:
Click on the box that says “All users” at the top of any of your reports
From your list of segments, check the one that says “0. All Users - Clean”
Lastly, uncheck the “All Users”
Now you can navigate through your reaports and all the junk traffic included in the segment will be removed.
A few things to consider when using this segment:
Segments have to be selected each time. A way of having it selected by default is by adding a bookmark when the segment is selected.
You can remove or add conditions if you need to.
You can edit the segment at any time to update it or add conditions (open the list of segments, then click “Actions” then “Edit”).
The hostname expression and third-party tools expression are different for each site.
If your site has a large volume of traffic, segments may sample your data when selected, so if you see the little shield icon at the top of your reports go yellow (normally is green), try choosing a shorter period (i.e. 1 year, 6 months, one month).
Conclusion: Which cake would you eat?
Having real and accurate data is essential for your Google Analytics to report as you would expect.
But if you haven’t filtered it properly, it’s almost certain that it will be filled with all sorts of junk and artificial information.
And the worst part is that if don't realize that your reports contain bogus data, you will likely make wrong or poor decisions when deciding on the next steps for your site or business.
The filters I share above will help you prevent the three most harmful threats that are polluting your Google Analytics and don’t let you get a clear view of the actual performance of your site: spam, bots, and internal traffic.
Once these filters are in place, you can rest assured that your efforts (and money!) won’t be wasted on analyzing deceptive Google Analytics data, and your decisions will be based on solid information.
And the benefits don’t stop there. If you're using other tools that import data from GA, for example, WordPress plugins like GADWP, excel add-ins like AnalyticsEdge, or SEO suites like Moz Pro, the benefits will trickle down to all of them as well.
Besides highlighting the importance of the filters in GA (which I hope I made clear by now), I would also love that for the preparation of these filters to give you the curiosity and basis to create others that will allow you to do all sorts of remarkable things with your data.
Remember, filters not only allow you to keep away junk, you can also use them to rearrange your real user information — but more on that on another occasion.
That’s it! I hope these tips help you make more sense of your data and make accurate decisions.
Have any questions, feedback, experiences? Let me know in the comments, or reach me on Twitter @carlosesal.
Complementary resources:
Google Analytics spam & bots (FAQ): Common data quality questions and concerns answered
Ultimate guide to stopping bots and Google Analytics spam (Always up to date)
Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!
from Blogger https://ift.tt/2t2AgYa via IFTTT
0 notes
theinjectlikes2 · 6 years
Text
Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics
Posted by Carlosesal
There is no doubt that Google Analytics is one of the most important tools you could use to understand your users' behavior and measure the performance of your site. There's a reason it's used by millions across the world.
But despite being such an essential part of the decision-making process for many businesses and blogs, I often find sites (of all sizes) that do little or no data filtering after installing the tracking code, which is a huge mistake.
Think of a Google Analytics property without filtered data as one of those styrofoam cakes with edible parts. It may seem genuine from the top, and it may even feel right when you cut a slice, but as you go deeper and deeper you find that much of it is artificial.
If you're one of those that haven’t properly configured their Google Analytics and you only pay attention to the summary reports, you probably won't notice that there's all sorts of bogus information mixed in with your real user data.
And as a consequence, you won't realize that your efforts are being wasted on analyzing data that doesn't represent the actual performance of your site.
To make sure you're getting only the real ingredients and prevent you from eating that slice of styrofoam, I'll show you how to use the tools that GA provides to eliminate all the artificial excess that inflates your reports and corrupts your data.
Common Google Analytics threats
As most of the people I've worked with know, I’ve always been obsessed with the accuracy of data, mainly because as a marketer/analyst there's nothing worse than realizing that you’ve made a wrong decision because your data wasn’t accurate. That’s why I’m continually exploring new ways of improving it.
As a result of that research, I wrote my first Moz post about the importance of filtering in Analytics, specifically about ghost spam, which was a significant problem at that time and still is (although to a lesser extent).
While the methods described there are still quite useful, I’ve since been researching solutions for other types of Google Analytics spam and a few other threats that might not be as annoying, but that are equally or even more harmful to your Analytics.
Let’s review, one by one.
Ghosts, crawlers, and other types of spam
The GA team has done a pretty good job handling ghost spam. The amount of it has been dramatically reduced over the last year, compared to the outbreak in 2015/2017.
However, the millions of current users and the thousands of new, unaware users that join every day, plus the majority's curiosity to discover why someone is linking to their site, make Google Analytics too attractive a target for the spammers to just leave it alone.
The same logic can be applied to any widely used tool: no matter what security measures it has, there will always be people trying to abuse its reach for their own interest. Thus, it's wise to add an extra security layer.
Take, for example, the most popular CMS: Wordpress. Despite having some built-in security measures, if you don't take additional steps to protect it (like setting a strong username and password or installing a security plugin), you run the risk of being hacked.
The same happens to Google Analytics, but instead of plugins, you use filters to protect it.
In which reports can you look for spam?
Spam traffic will usually show as a Referral, but it can appear in any part of your reports, even in unsuspecting places like a language or page title.
Sometimes spammers will try to fool by using misleading URLs that are very similar to known websites, or they may try to get your attention by using unusual characters and emojis in the source name.
Independently of the type of spam, there are 3 things you always should do when you think you found one in your reports:
Never visit the suspicious URL. Most of the time they'll try to sell you something or promote their service, but some spammers might have some malicious scripts on their site.
This goes without saying, but never install scripts from unknown sites; if for some reason you did, remove it immediately and scan your site for malware.
Filter out the spam in your Google Analytics to keep your data clean (more on that below).
If you're not sure whether an entry on your report is real, try searching for the URL in quotes (“example.com”). Your browser won’t open the site, but instead will show you the search results; if it is spam, you'll usually see posts or forums complaining about it.
If you still can’t find information about that particular entry, give me a shout — I might have some knowledge for you.
Bot traffic
A bot is a piece of software that runs automated scripts over the Internet for different purposes.
There are all kinds of bots. Some have good intentions, like the bots used to check copyrighted content or the ones that index your site for search engines, and others not so much, like the ones scraping your content to clone it.
2016 bot traffic report. Source: Incapsula
In either case, this type of traffic is not useful for your reporting and might be even more damaging than spam both because of the amount and because it's harder to identify (and therefore to filter it out).
It's worth mentioning that bots can be blocked from your server to stop them from accessing your site completely, but this usually involves editing sensible files that require high technical knowledge, and as I said before, there are good bots too.
So, unless you're receiving a direct attack that's skewing your resources, I recommend you just filter them in Google Analytics.
In which reports can you look for bot traffic?
Bots will usually show as Direct traffic in Google Analytics, so you'll need to look for patterns in other dimensions to be able to filter it out. For example, large companies that use bots to navigate the Internet will usually have a unique service provider.
I’ll go into more detail on this below.
Internal traffic
Most users get worried and anxious about spam, which is normal — nobody likes weird URLs showing up in their reports. However, spam isn't the biggest threat to your Google Analytics.
You are!
The traffic generated by people (and bots) working on the site is often overlooked despite the huge negative impact it has. The main reason it's so damaging is that in contrast to spam, internal traffic is difficult to identify once it hits your Analytics, and it can easily get mixed in with your real user data.
There are different types of internal traffic and different ways of dealing with it.
Direct internal traffic
Testers, developers, marketing team, support, outsourcing... the list goes on. Any member of the team that visits the company website or blog for any purpose could be contributing.
In which reports can you look for direct internal traffic?
Unless your company uses a private ISP domain, this traffic is tough to identify once it hits you, and will usually show as Direct in Google Analytics.
Third-party sites/tools
This type of internal traffic includes traffic generated directly by you or your team when using tools to work on the site; for example, management tools like Trello or Asana,
It also considers traffic coming from bots doing automatic work for you; for example, services used to monitor the performance of your site, like Pingdom or GTmetrix.
Some types of tools you should consider:
Project management
Social media management
Performance/uptime monitoring services
SEO tools
In which reports can you look for internal third-party tools traffic?
This traffic will usually show as Referral in Google Analytics.
Development/staging environments
Some websites use a test environment to make changes before applying them to the main site. Normally, these staging environments have the same tracking code as the production site, so if you don’t filter it out, all the testing will be recorded in Google Analytics.
In which reports can you look for development/staging environments?
This traffic will usually show as Direct in Google Analytics, but you can find it under its own hostname (more on this later).
Web archive sites and cache services
Archive sites like the Wayback Machine offer historical views of websites. The reason you can see those visits on your Analytics — even if they are not hosted on your site — is that the tracking code was installed on your site when the Wayback Machine bot copied your content to its archive.
One thing is for certain: when someone goes to check how your site looked in 2015, they don't have any intention of buying anything from your site — they're simply doing it out of curiosity, so this traffic is not useful.
In which reports can you look for traffic from web archive sites and cache services?
You can also identify this traffic on the hostname report.
A basic understanding of filters
The solutions described below use Google Analytics filters, so to avoid problems and confusion, you'll need some basic understanding of how they work and check some prerequisites.
Things to consider before using filters:
1. Create an unfiltered view.
Before you do anything, it's highly recommendable to make an unfiltered view; it will help you track the efficacy of your filters. Plus, it works as a backup in case something goes wrong.
2. Make sure you have the correct permissions.
You will need edit permissions at the account level to create filters; edit permissions at view or property level won’t work.
3. Filters don’t work retroactively.
In GA, aggregated historical data can’t be deleted, at least not permanently. That's why the sooner you apply the filters to your data, the better.
4. The changes made by filters are permanent!
If your filter is not correctly configured because you didn’t enter the correct expression (missing relevant entries, a typo, an extra space, etc.), you run the risk of losing valuable data FOREVER; there is no way of recovering filtered data.
But don’t worry — if you follow the recommendations below, you shouldn’t have a problem.
5. Wait for it.
Most of the time you can see the effect of the filter within minutes or even seconds after applying it; however, officially it can take up to twenty-four hours, so be patient.
Types of filters
There are two main types of filters: predefined and custom.
Predefined filters are very limited, so I rarely use them. I prefer to use the custom ones because they allow regular expressions, which makes them a lot more flexible.
Within the custom filters, there are five types: exclude, include, lowercase/uppercase, search and replace, and advanced.
Here we will use the first two: exclude and include. We'll save the rest for another occasion.
Essentials of regular expressions
If you already know how to work with regular expressions, you can jump to the next section.
REGEX (short for regular expressions) are text strings prepared to match patterns with the use of some special characters. These characters help match multiple entries in a single filter.
Don’t worry if you don’t know anything about them. We will use only the basics, and for some filters, you will just have to COPY-PASTE the expressions I pre-built.
REGEX special characters
There are many special characters in REGEX, but for basic GA expressions we can focus on three:
^ The caret: used to indicate the beginning of a pattern,
$ The dollar sign: used to indicate the end of a pattern,
| The pipe or bar: means "OR," and it is used to indicate that you are starting a new pattern.
When using the pipe character, you should never ever:
Put it at the beginning of the expression,
Put it at the end of the expression,
Put 2 or more together.
Any of those will mess up your filter and probably your Analytics.
A simple example of REGEX usage
Let's say I go to a restaurant that has an automatic machine that makes fruit salad, and to choose the fruit, you should use regular xxpressions.
This super machine has the following fruits to choose from: strawberry, orange, blueberry, apple, pineapple, and watermelon.
To make a salad with my favorite fruits (strawberry, blueberry, apple, and watermelon), I have to create a REGEX that matches all of them. Easy! Since the pipe character “|” means OR I could do this:
REGEX 1: strawberry|blueberry|apple|watermelon
The problem with that expression is that REGEX also considers partial matches, and since pineapple also contains “apple,” it would be selected as well... and I don’t like pineapple!
To avoid that, I can use the other two special characters I mentioned before to make an exact match for apple. The caret “^” (begins here) and the dollar sign “$” (ends here). It will look like this:
REGEX 2: strawberry|blueberry|^apple$|watermelon
The expression will select precisely the fruits I want.
But let’s say for demonstration's sake that the fewer characters you use, the cheaper the salad will be. To optimize the expression, I can use the ability for partial matches in REGEX.
Since strawberry and blueberry both contain "berry," and no other fruit in the list does, I can rewrite my expression like this:
Optimized REGEX: berry|^apple$|watermelon
That’s it — now I can get my fruit salad with the right ingredients, and at a lower price.
3 ways of testing your filter expression
As I mentioned before, filter changes are permanent, so you have to make sure your filters and REGEX are correct. There are 3 ways of testing them:
Right from the filter window; just click on “Verify this filter,” quick and easy. However, it's not the most accurate since it only takes a small sample of data.
Using an online REGEX tester; very accurate and colorful, you can also learn a lot from these, since they show you exactly the matching parts and give you a brief explanation of why.
Using an in-table temporary filter in GA; you can test your filter against all your historical data. This is the most precise way of making sure you don’t miss anything.
If you're doing a simple filter or you have plenty of experience, you can use the built-in filter verification. However, if you want to be 100% sure that your REGEX is ok, I recommend you build the expression on the online tester and then recheck it using an in-table filter.
Quick REGEX challenge
Here's a small exercise to get you started. Go to this premade example with the optimized expression from the fruit salad case and test the first 2 REGEX I made. You'll see live how the expressions impact the list.
Now make your own expression to pay as little as possible for the salad.
Remember:
We only want strawberry, blueberry, apple, and watermelon;
The fewer characters you use, the less you pay;
You can do small partial matches, as long as they don’t include the forbidden fruits.
Tip: You can do it with as few as 6 characters.
Now that you know the basics of REGEX, we can continue with the filters below. But I encourage you to put “learn more about REGEX” on your to-do list — they can be incredibly useful not only for GA, but for many tools that allow them.
How to create filters to stop spam, bots, and internal traffic in Google Analytics
Back to our main event: the filters!
Where to start: To avoid being repetitive when describing the filters below, here are the standard steps you need to follow to create them:
Go to the admin section in your Google Analytics (the gear icon at the bottom left corner),
Under the View column (master view), click the button “Filters” (don’t click on “All filters“ in the Account column):
Click the red button “+Add Filter” (if you don’t see it or you can only apply/remove already created filters, then you don’t have edit permissions at the account level. Ask your admin to create them or give you the permissions.):
Then follow the specific configuration for each of the filters below.
The filter window is your best partner for improving the quality of your Analytics data, so it will be a good idea to get familiar with it.
Valid hostname filter (ghost spam, dev environments)
Prevents traffic from:
Ghost spam
Development hostnames
Scraping sites
Cache and archive sites
This filter may be the single most effective solution against spam. In contrast with other commonly shared solutions, the hostname filter is preventative, and it rarely needs to be updated.
Ghost spam earns its name because it never really visits your site. It’s sent directly to the Google Analytics servers using a feature called Measurement Protocol, a tool that under normal circumstances allows tracking from devices that you wouldn’t imagine that could be traced, like coffee machines or refrigerators.
Real users pass through your server, then the data is sent to GA; hence it leaves valid information. Ghost spam is sent directly to GA servers, without knowing your site URL; therefore all data left is fake. Source: carloseo.com
The spammer abuses this feature to simulate visits to your site, most likely using automated scripts to send traffic to randomly generated tracking codes (UA-0000000-1).
Since these hits are random, the spammers don't know who they're hitting; for that reason ghost spam will always leave a fake or (not set) host. Using that logic, by creating a filter that only includes valid hostnames all ghost spam will be left out.
Where to find your hostnames
Now here comes the “tricky” part. To create this filter, you will need, to make a list of your valid hostnames.
A list of what!?
Essentially, a hostname is any place where your GA tracking code is present. You can get this information from the hostname report:
Go to Audience > Select Network > At the top of the table change the primary dimension to Hostname.
If your Analytics is active, you should see at least one: your domain name. If you see more, scan through them and make a list of all the ones that are valid for you.
Types of hostname you can find
The good ones:
Type
Example
Your domain and subdomains
yourdomain.com
Tools connected to your Analytics
YouTube, MailChimp
Payment gateways
Shopify, booking systems
Translation services
Google Translate
Mobile speed-up services
Google weblight
The bad ones (by bad, I mean not useful for your reports):
Type
Example/Description
Staging/development environments
staging.yourdomain.com
Internet archive sites
web.archive.org
Scraping sites that don’t bother to trim the content
The URL of the scraper
Spam
Most of the time they will show their URL, but sometimes they may use the name of a known website to try to fool you. If you see a URL that you don’t recognize, just think, “do I manage it?” If the answer is no, then it isn't your hostname.
(not set) hostname
It usually comes from spam. On rare occasions it's related to tracking code issues.
Below is an example of my hostname report. From the unfiltered view, of course, the master view is squeaky clean.
Now with the list of your good hostnames, make a regular expression. If you only have your domain, then that is your expression; if you have more, create an expression with all of them as we did in the fruit salad example:
Hostname REGEX (example) yourdomain.com|hostname2|hostname3|hostname4
Important! You cannot create more than one “Include hostname filter”; if you do, you will exclude all data. So try to fit all your hostnames into one expression (you have 255 characters).
The “valid hostname filter” configuration:
Filter Name: Include valid hostnames
Filter Type: Custom > Include
Filter Field: Hostname
Filter Pattern: [hostname REGEX you created]
Campaign source filter (Crawler spam, internal sources)
Prevents traffic from:
Crawler spam
Internal third-party tools (Trello, Asana, Pingdom)
Important note: Even if these hits are shown as a referral, the field you should use in the filter is “Campaign source” — the field “Referral” won’t work.
Filter for crawler spam
The second most common type of spam is crawler. They also pretend to be a valid visit by leaving a fake source URL, but in contrast with ghost spam, these do access your site. Therefore, they leave a correct hostname.
You will need to create an expression the same way as the hostname filter, but this time, you will put together the source/URLs of the spammy traffic. The difference is that you can create multiple exclude filters.
Crawler REGEX (example) spam1|spam2|spam3|spam4
Crawler REGEX (pre-built) As I promised, here are latest pre-built crawler expressions that you just need to copy/paste.
The “crawler spam filter” configuration:
Filter Name: Exclude crawler spam 1
Filter Type: Custom > Exclude
Filter Field: Campaign source
Filter Pattern: [crawler REGEX]
Filter for internal third-party tools
Although you can combine your crawler spam filter with internal third-party tools, I like to have them separated, to keep them organized and more accessible for updates.
The “internal tools filter” configuration:
Filter Name: Exclude internal tool sources
Filter Pattern: [tool source REGEX]
Internal Tools REGEX (example) trello|asana|redmine
In case, that one of the tools that you use internally also sends you traffic from real visitors, don’t filter it. Instead, use the “Exclude Internal URL Query” below.
For example, I use Trello, but since I share analytics guides on my site, some people link them from their Trello accounts.
Filters for language spam and other types of spam
The previous two filters will stop most of the spam; however, some spammers use different methods to bypass the previous solutions.
For example, they try to confuse you by showing one of your valid hostnames combined with a well-known source like Apple, Google, or Moz. Even my site has been a target (not saying that everyone knows my site; it just looks like the spammers don’t agree with my guides).
However, even if the source and host look fine, the spammer injects their message in another part of your reports like the keyword, page title, and even as a language.
In those cases, you will have to take the dimension/report where you find the spam and choose that name in the filter. It's important to consider that the name of the report doesn't always match the name in the filter field:
Report name
Filter field
Language
Language settings
Referral
Campaign source
Organic Keyword
Search term
Service Provider
ISP Organization
Network Domain
ISP Domain
Here are a couple of examples.
The “language spam/bot filter” configuration:
Filter Name: Exclude language spam
Filter Type: Custom > Exclude
Filter Field: Language settings
Filter Pattern: [Language REGEX]
Language Spam REGEX (Prebuilt) \s[^\s]*\s|.{15,}|\.|,|^c$
The expression above excludes fake languages that don't meet the required format. For example, take these weird messages appearing instead of regular languages like en-us or es-es:
Examples of language spam
The organic/keyword spam filter configuration:
Filter Name: Exclude organic spam
Filter Type: Custom > Exclude
Filter Field: Search term
Filter Pattern: [keyword REGEX]
Filters for direct bot traffic
Bot traffic is a little trickier to filter because it doesn't leave a source like spam, but it can still be filtered with a bit of patience.
The first thing you should do is enable bot filtering. In my opinion, it should be enabled by default.
Go to the Admin section of your Analytics and click on View Settings. You will find the option “Exclude all hits from known bots and spiders” below the currency selector:
It would be wonderful if this would take care of every bot — a dream come true. However, there's a catch: the key here is the word “known.” This option only takes care of known bots included in the “IAB known bots and spiders list." That's a good start, but far from enough.
There are a lot of “unknown” bots out there that are not included in that list, so you'll have to play detective and search for patterns of direct bot traffic through different reports until you find something that can be safely filtered without risking your real user data.
To start your bot trail search, click on the Segment box at the top of any report, and select the “Direct traffic” segment.
Then navigate through different reports to see if you find anything suspicious.
Some reports to start with:
Service provider
Browser version
Network domain
Screen resolution
Flash version
Country/City
Signs of bot traffic
Although bots are hard to detect, there are some signals you can follow:
An unnatural increase of direct traffic
Old versions (browsers, OS, Flash)
They visit the home page only (usually represented by a slash “/” in GA)
Extreme metrics:
Bounce rate close to 100%,
Session time close to 0 seconds,
1 page per session,
100% new users.
Important! If you find traffic that checks off many of these signals, it is likely bot traffic. However, not all entries with these characteristics are bots, and not all bots match these patterns, so be cautious.
Perhaps the most useful report that has helped me identify bot traffic is the “Service Provider” report. Large corporations frequently use their own Internet service provider name.
I also have a pre-built expression for ISP bots, similar to the crawler expressions.
The bot ISP filter configuration:
Filter Name: Exclude bots by ISP
Filter Type: Custom > Exclude
Filter Field: ISP organization
Filter Pattern: [ISP provider REGEX]
ISP provider bots REGEX (prebuilt) hubspot|^google\sllc$|^google\sinc\.$|alibaba\.com\sllc|ovh\shosting\sinc\. Latest ISP bot expression
IP filter for internal traffic
We already covered different types of internal traffic, the one from test sites (with the hostname filter), and the one from third-party tools (with the campaign source filter).
Now it's time to look at the most common and damaging of all: the traffic generated directly by you or any member of your team while working on any task for the site.
To deal with this, the standard solution is to create a filter that excludes the public IP (not private) of all locations used to work on the site.
Examples of places/people that should be filtered
Office
Support
Home
Developers
Hotel
Coffee shop
Bar
Mall
Any place that is regularly used to work on your site
To find the public IP of the location you are working at, simply search for "my IP" in Google. You will see one of these versions:
IP version
Example
Short IPv4
1.23.45.678
Long IPv6
2001:0db8:85a3:0000:0000:8a2e:0370:7334
No matter which version you see, make a list with the IP of each place and put them together with a REGEX, the same way we did with other filters.
IP address expression: IP1|IP2|IP3|IP4 and so on.
The static IP filter configuration:
Filter Name: Exclude internal traffic (IP)
Filter Type: Custom > Exclude
Filter Field: IP Address
Filter Pattern: [The IP expression]
Cases when this filter won’t be optimal:
There are some cases in which the IP filter won’t be as efficient as it used to be:
You use IP anonymization (required by the GDPR regulation). When you anonymize the IP in GA, the last part of the IP is changed to 0. This means that if you have 1.23.45.678, GA will pass it as 1.23.45.0, so you need to put it like that in your filter. The problem is that you might be excluding other IPs that are not yours.
Your Internet provider changes your IP frequently (Dynamic IP). This has become a common issue lately, especially if you have the long version (IPv6).
Your team works from multiple locations. The way of working is changing — now, not all companies operate from a central office. It's often the case that some will work from home, others from the train, in a coffee shop, etc. You can still filter those places; however, maintaining the list of IPs to exclude can be a nightmare,
You or your team travel frequently. Similar to the previous scenario, if you or your team travels constantly, there's no way you can keep up with the IP filters.
If you check one or more of these scenarios, then this filter is not optimal for you; I recommend you to try the “Advanced internal URL query filter” below.
URL query filter for internal traffic
If there are dozens or hundreds of employees in the company, it's extremely difficult to exclude them when they're traveling, accessing the site from their personal locations, or mobile networks.
Here’s where the URL query comes to the rescue. To use this filter you just need to add a query parameter. I add “?internal" to any link your team uses to access your site:
Internal newsletters
Management tools (Trello, Redmine)
Emails to colleagues
Also works by directly adding it in the browser address bar
Basic internal URL query filter
The basic version of this solution is to create a filter to exclude any URL that contains the query “?internal”.
Filter Name: Exclude Internal Traffic (URL Query)
Filter Type: Custom > Exclude
Filter Field: Request URI
Filter Pattern: \?internal
This solution is perfect for instances were the user will most likely stay on the landing page, for example, when sending a newsletter to all employees to check a new post.
If the user will likely visit more than the landing page, then the subsequent pages will be recorded.
Advanced internal URL query filter
This solution is the champion of all internal traffic filters!
It’s a more comprehensive version of the previous solution and works by filtering internal traffic dynamically using Google Tag Manager, a GA custom dimension, and cookies.
Although this solution is a bit more complicated to set up, once it's in place:
It doesn’t need maintenance
Any team member can use it, no need to explain techy stuff
Can be used from any location
Can be used from any device, and any browser
To activate the filter, you just have to add the text “?internal” to any URL of the website.
That will insert a small cookie in the browser that will tell GA not to record the visits from that browser.
And the best of it is that the cookie will stay there for a year (unless it is manually removed), so the user doesn’t have to add “?internal” every time.
Bonus filter: Include only internal traffic
In some occasions, it's interesting to know the traffic generated internally by employees — maybe because you want to measure the success of an internal campaign or just because you're a curious person.
In that case, you should create an additional view, call it “Internal Traffic Only,” and use one of the internal filters above. Just one! Because if you have multiple include filters, the hit will need to match all of them to be counted.
If you configured the “Advanced internal URL query” filter, use that one. If not, choose one of the others.
The configuration is exactly the same — you only need to change “Exclude” for “Include.”
Cleaning historical data
The filters will prevent future hits from junk traffic.
But what about past affected data?
I know I told you that deleting aggregated historical data is not possible in GA. However, there's still a way to temporarily clean up at least some of the nasty traffic that has already polluted your reports.
For this, we'll use an advanced segment (a subset of your Analytics data). There are built-in segments like “Organic” or “Mobile,” but you can also build one using your own set of rules.
To clean our historical data, we will build a segment using all the expressions from the filters above as conditions (except the ones from the IP filter, because IPs are not stored in GA; hence, they can’t be segmented).
To help you get started, you can import this segment template.
You just need to follow the instructions on that page and replace the placeholders. Here is how it looks:
In the actual template, all text is black; the colors are just to help you visualize the conditions.
After importing it, to select the segment:
Click on the box that says “All users” at the top of any of your reports
From your list of segments, check the one that says “0. All Users - Clean”
Lastly, uncheck the “All Users”
Now you can navigate through your reaports and all the junk traffic included in the segment will be removed.
A few things to consider when using this segment:
Segments have to be selected each time. A way of having it selected by default is by adding a bookmark when the segment is selected.
You can remove or add conditions if you need to.
You can edit the segment at any time to update it or add conditions (open the list of segments, then click “Actions” then “Edit”).
The hostname expression and third-party tools expression are different for each site.
If your site has a large volume of traffic, segments may sample your data when selected, so if you see the little shield icon at the top of your reports go yellow (normally is green), try choosing a shorter period (i.e. 1 year, 6 months, one month).
Conclusion: Which cake would you eat?
Having real and accurate data is essential for your Google Analytics to report as you would expect.
But if you haven’t filtered it properly, it’s almost certain that it will be filled with all sorts of junk and artificial information.
And the worst part is that if don't realize that your reports contain bogus data, you will likely make wrong or poor decisions when deciding on the next steps for your site or business.
The filters I share above will help you prevent the three most harmful threats that are polluting your Google Analytics and don’t let you get a clear view of the actual performance of your site: spam, bots, and internal traffic.
Once these filters are in place, you can rest assured that your efforts (and money!) won’t be wasted on analyzing deceptive Google Analytics data, and your decisions will be based on solid information.
And the benefits don’t stop there. If you're using other tools that import data from GA, for example, WordPress plugins like GADWP, excel add-ins like AnalyticsEdge, or SEO suites like Moz Pro, the benefits will trickle down to all of them as well.
Besides highlighting the importance of the filters in GA (which I hope I made clear by now), I would also love that for the preparation of these filters to give you the curiosity and basis to create others that will allow you to do all sorts of remarkable things with your data.
Remember, filters not only allow you to keep away junk, you can also use them to rearrange your real user information — but more on that on another occasion.
That’s it! I hope these tips help you make more sense of your data and make accurate decisions.
Have any questions, feedback, experiences? Let me know in the comments, or reach me on Twitter @carlosesal.
Complementary resources:
Google Analytics spam & bots (FAQ): Common data quality questions and concerns answered
Ultimate guide to stopping bots and Google Analytics spam (Always up to date)
Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!
from The Moz Blog https://ift.tt/2JzuPqS via IFTTT
0 notes
ericsburden-blog · 6 years
Text
Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics
Posted by Carlosesal
There is no doubt that Google Analytics is one of the most important tools you could use to understand your users' behavior and measure the performance of your site. There's a reason it's used by millions across the world.
But despite being such an essential part of the decision-making process for many businesses and blogs, I often find sites (of all sizes) that do little or no data filtering after installing the tracking code, which is a huge mistake.
Think of a Google Analytics property without filtered data as one of those styrofoam cakes with edible parts. It may seem genuine from the top, and it may even feel right when you cut a slice, but as you go deeper and deeper you find that much of it is artificial.
If you're one of those that haven’t properly configured their Google Analytics and you only pay attention to the summary reports, you probably won't notice that there's all sorts of bogus information mixed in with your real user data.
And as a consequence, you won't realize that your efforts are being wasted on analyzing data that doesn't represent the actual performance of your site.
To make sure you're getting only the real ingredients and prevent you from eating that slice of styrofoam, I'll show you how to use the tools that GA provides to eliminate all the artificial excess that inflates your reports and corrupts your data.
Common Google Analytics threats
As most of the people I've worked with know, I’ve always been obsessed with the accuracy of data, mainly because as a marketer/analyst there's nothing worse than realizing that you’ve made a wrong decision because your data wasn’t accurate. That’s why I’m continually exploring new ways of improving it.
As a result of that research, I wrote my first Moz post about the importance of filtering in Analytics, specifically about ghost spam, which was a significant problem at that time and still is (although to a lesser extent).
While the methods described there are still quite useful, I’ve since been researching solutions for other types of Google Analytics spam and a few other threats that might not be as annoying, but that are equally or even more harmful to your Analytics.
Let’s review, one by one.
Ghosts, crawlers, and other types of spam
The GA team has done a pretty good job handling ghost spam. The amount of it has been dramatically reduced over the last year, compared to the outbreak in 2015/2017.
However, the millions of current users and the thousands of new, unaware users that join every day, plus the majority's curiosity to discover why someone is linking to their site, make Google Analytics too attractive a target for the spammers to just leave it alone.
The same logic can be applied to any widely used tool: no matter what security measures it has, there will always be people trying to abuse its reach for their own interest. Thus, it's wise to add an extra security layer.
Take, for example, the most popular CMS: Wordpress. Despite having some built-in security measures, if you don't take additional steps to protect it (like setting a strong username and password or installing a security plugin), you run the risk of being hacked.
The same happens to Google Analytics, but instead of plugins, you use filters to protect it.
In which reports can you look for spam?
Spam traffic will usually show as a Referral, but it can appear in any part of your reports, even in unsuspecting places like a language or page title.
Sometimes spammers will try to fool by using misleading URLs that are very similar to known websites, or they may try to get your attention by using unusual characters and emojis in the source name.
Independently of the type of spam, there are 3 things you always should do when you think you found one in your reports:
Never visit the suspicious URL. Most of the time they'll try to sell you something or promote their service, but some spammers might have some malicious scripts on their site.
This goes without saying, but never install scripts from unknown sites; if for some reason you did, remove it immediately and scan your site for malware.
Filter out the spam in your Google Analytics to keep your data clean (more on that below).
If you're not sure whether an entry on your report is real, try searching for the URL in quotes (“example.com”). Your browser won’t open the site, but instead will show you the search results; if it is spam, you'll usually see posts or forums complaining about it.
If you still can’t find information about that particular entry, give me a shout — I might have some knowledge for you.
Bot traffic
A bot is a piece of software that runs automated scripts over the Internet for different purposes.
There are all kinds of bots. Some have good intentions, like the bots used to check copyrighted content or the ones that index your site for search engines, and others not so much, like the ones scraping your content to clone it.
2016 bot traffic report. Source: Incapsula
In either case, this type of traffic is not useful for your reporting and might be even more damaging than spam both because of the amount and because it's harder to identify (and therefore to filter it out).
It's worth mentioning that bots can be blocked from your server to stop them from accessing your site completely, but this usually involves editing sensible files that require high technical knowledge, and as I said before, there are good bots too.
So, unless you're receiving a direct attack that's skewing your resources, I recommend you just filter them in Google Analytics.
In which reports can you look for bot traffic?
Bots will usually show as Direct traffic in Google Analytics, so you'll need to look for patterns in other dimensions to be able to filter it out. For example, large companies that use bots to navigate the Internet will usually have a unique service provider.
I’ll go into more detail on this below.
Internal traffic
Most users get worried and anxious about spam, which is normal — nobody likes weird URLs showing up in their reports. However, spam isn't the biggest threat to your Google Analytics.
You are!
The traffic generated by people (and bots) working on the site is often overlooked despite the huge negative impact it has. The main reason it's so damaging is that in contrast to spam, internal traffic is difficult to identify once it hits your Analytics, and it can easily get mixed in with your real user data.
There are different types of internal traffic and different ways of dealing with it.
Direct internal traffic
Testers, developers, marketing team, support, outsourcing... the list goes on. Any member of the team that visits the company website or blog for any purpose could be contributing.
In which reports can you look for direct internal traffic?
Unless your company uses a private ISP domain, this traffic is tough to identify once it hits you, and will usually show as Direct in Google Analytics.
Third-party sites/tools
This type of internal traffic includes traffic generated directly by you or your team when using tools to work on the site; for example, management tools like Trello or Asana,
It also considers traffic coming from bots doing automatic work for you; for example, services used to monitor the performance of your site, like Pingdom or GTmetrix.
Some types of tools you should consider:
Project management
Social media management
Performance/uptime monitoring services
SEO tools
In which reports can you look for internal third-party tools traffic?
This traffic will usually show as Referral in Google Analytics.
Development/staging environments
Some websites use a test environment to make changes before applying them to the main site. Normally, these staging environments have the same tracking code as the production site, so if you don’t filter it out, all the testing will be recorded in Google Analytics.
In which reports can you look for development/staging environments?
This traffic will usually show as Direct in Google Analytics, but you can find it under its own hostname (more on this later).
Web archive sites and cache services
Archive sites like the Wayback Machine offer historical views of websites. The reason you can see those visits on your Analytics — even if they are not hosted on your site — is that the tracking code was installed on your site when the Wayback Machine bot copied your content to its archive.
One thing is for certain: when someone goes to check how your site looked in 2015, they don't have any intention of buying anything from your site — they're simply doing it out of curiosity, so this traffic is not useful.
In which reports can you look for traffic from web archive sites and cache services?
You can also identify this traffic on the hostname report.
A basic understanding of filters
The solutions described below use Google Analytics filters, so to avoid problems and confusion, you'll need some basic understanding of how they work and check some prerequisites.
Things to consider before using filters:
1. Create an unfiltered view.
Before you do anything, it's highly recommendable to make an unfiltered view; it will help you track the efficacy of your filters. Plus, it works as a backup in case something goes wrong.
2. Make sure you have the correct permissions.
You will need edit permissions at the account level to create filters; edit permissions at view or property level won’t work.
3. Filters don’t work retroactively.
In GA, aggregated historical data can’t be deleted, at least not permanently. That's why the sooner you apply the filters to your data, the better.
4. The changes made by filters are permanent!
If your filter is not correctly configured because you didn’t enter the correct expression (missing relevant entries, a typo, an extra space, etc.), you run the risk of losing valuable data FOREVER; there is no way of recovering filtered data.
But don’t worry — if you follow the recommendations below, you shouldn’t have a problem.
5. Wait for it.
Most of the time you can see the effect of the filter within minutes or even seconds after applying it; however, officially it can take up to twenty-four hours, so be patient.
Types of filters
There are two main types of filters: predefined and custom.
Predefined filters are very limited, so I rarely use them. I prefer to use the custom ones because they allow regular expressions, which makes them a lot more flexible.
Within the custom filters, there are five types: exclude, include, lowercase/uppercase, search and replace, and advanced.
Here we will use the first two: exclude and include. We'll save the rest for another occasion.
Essentials of regular expressions
If you already know how to work with regular expressions, you can jump to the next section.
REGEX (short for regular expressions) are text strings prepared to match patterns with the use of some special characters. These characters help match multiple entries in a single filter.
Don’t worry if you don’t know anything about them. We will use only the basics, and for some filters, you will just have to COPY-PASTE the expressions I pre-built.
REGEX special characters
There are many special characters in REGEX, but for basic GA expressions we can focus on three:
^ The caret: used to indicate the beginning of a pattern,
$ The dollar sign: used to indicate the end of a pattern,
| The pipe or bar: means "OR," and it is used to indicate that you are starting a new pattern.
When using the pipe character, you should never ever:
Put it at the beginning of the expression,
Put it at the end of the expression,
Put 2 or more together.
Any of those will mess up your filter and probably your Analytics.
A simple example of REGEX usage
Let's say I go to a restaurant that has an automatic machine that makes fruit salad, and to choose the fruit, you should use regular xxpressions.
This super machine has the following fruits to choose from: strawberry, orange, blueberry, apple, pineapple, and watermelon.
To make a salad with my favorite fruits (strawberry, blueberry, apple, and watermelon), I have to create a REGEX that matches all of them. Easy! Since the pipe character “|” means OR I could do this:
REGEX 1: strawberry|blueberry|apple|watermelon
The problem with that expression is that REGEX also considers partial matches, and since pineapple also contains “apple,” it would be selected as well... and I don’t like pineapple!
To avoid that, I can use the other two special characters I mentioned before to make an exact match for apple. The caret “^” (begins here) and the dollar sign “$” (ends here). It will look like this:
REGEX 2: strawberry|blueberry|^apple$|watermelon
The expression will select precisely the fruits I want.
But let’s say for demonstration's sake that the fewer characters you use, the cheaper the salad will be. To optimize the expression, I can use the ability for partial matches in REGEX.
Since strawberry and blueberry both contain "berry," and no other fruit in the list does, I can rewrite my expression like this:
Optimized REGEX: berry|^apple$|watermelon
That’s it — now I can get my fruit salad with the right ingredients, and at a lower price.
3 ways of testing your filter expression
As I mentioned before, filter changes are permanent, so you have to make sure your filters and REGEX are correct. There are 3 ways of testing them:
Right from the filter window; just click on “Verify this filter,” quick and easy. However, it's not the most accurate since it only takes a small sample of data.
Using an online REGEX tester; very accurate and colorful, you can also learn a lot from these, since they show you exactly the matching parts and give you a brief explanation of why.
Using an in-table temporary filter in GA; you can test your filter against all your historical data. This is the most precise way of making sure you don’t miss anything.
If you're doing a simple filter or you have plenty of experience, you can use the built-in filter verification. However, if you want to be 100% sure that your REGEX is ok, I recommend you build the expression on the online tester and then recheck it using an in-table filter.
Quick REGEX challenge
Here's a small exercise to get you started. Go to this premade example with the optimized expression from the fruit salad case and test the first 2 REGEX I made. You'll see live how the expressions impact the list.
Now make your own expression to pay as little as possible for the salad.
Remember:
We only want strawberry, blueberry, apple, and watermelon;
The fewer characters you use, the less you pay;
You can do small partial matches, as long as they don’t include the forbidden fruits.
Tip: You can do it with as few as 6 characters.
Now that you know the basics of REGEX, we can continue with the filters below. But I encourage you to put “learn more about REGEX” on your to-do list — they can be incredibly useful not only for GA, but for many tools that allow them.
How to create filters to stop spam, bots, and internal traffic in Google Analytics
Back to our main event: the filters!
Where to start: To avoid being repetitive when describing the filters below, here are the standard steps you need to follow to create them:
Go to the admin section in your Google Analytics (the gear icon at the bottom left corner),
Under the View column (master view), click the button “Filters” (don’t click on “All filters“ in the Account column):
Click the red button “+Add Filter” (if you don’t see it or you can only apply/remove already created filters, then you don’t have edit permissions at the account level. Ask your admin to create them or give you the permissions.):
Then follow the specific configuration for each of the filters below.
The filter window is your best partner for improving the quality of your Analytics data, so it will be a good idea to get familiar with it.
Valid hostname filter (ghost spam, dev environments)
Prevents traffic from:
Ghost spam
Development hostnames
Scraping sites
Cache and archive sites
This filter may be the single most effective solution against spam. In contrast with other commonly shared solutions, the hostname filter is preventative, and it rarely needs to be updated.
Ghost spam earns its name because it never really visits your site. It’s sent directly to the Google Analytics servers using a feature called Measurement Protocol, a tool that under normal circumstances allows tracking from devices that you wouldn’t imagine that could be traced, like coffee machines or refrigerators.
Real users pass through your server, then the data is sent to GA; hence it leaves valid information. Ghost spam is sent directly to GA servers, without knowing your site URL; therefore all data left is fake. Source: carloseo.com
The spammer abuses this feature to simulate visits to your site, most likely using automated scripts to send traffic to randomly generated tracking codes (UA-0000000-1).
Since these hits are random, the spammers don't know who they're hitting; for that reason ghost spam will always leave a fake or (not set) host. Using that logic, by creating a filter that only includes valid hostnames all ghost spam will be left out.
Where to find your hostnames
Now here comes the “tricky” part. To create this filter, you will need, to make a list of your valid hostnames.
A list of what!?
Essentially, a hostname is any place where your GA tracking code is present. You can get this information from the hostname report:
Go to Audience > Select Network > At the top of the table change the primary dimension to Hostname.
If your Analytics is active, you should see at least one: your domain name. If you see more, scan through them and make a list of all the ones that are valid for you.
Types of hostname you can find
The good ones:
Type
Example
Your domain and subdomains
yourdomain.com
Tools connected to your Analytics
YouTube, MailChimp
Payment gateways
Shopify, booking systems
Translation services
Google Translate
Mobile speed-up services
Google weblight
The bad ones (by bad, I mean not useful for your reports):
Type
Example/Description
Staging/development environments
staging.yourdomain.com
Internet archive sites
web.archive.org
Scraping sites that don’t bother to trim the content
The URL of the scraper
Spam
Most of the time they will show their URL, but sometimes they may use the name of a known website to try to fool you. If you see a URL that you don’t recognize, just think, “do I manage it?” If the answer is no, then it isn't your hostname.
(not set) hostname
It usually comes from spam. On rare occasions it's related to tracking code issues.
Below is an example of my hostname report. From the unfiltered view, of course, the master view is squeaky clean.
Now with the list of your good hostnames, make a regular expression. If you only have your domain, then that is your expression; if you have more, create an expression with all of them as we did in the fruit salad example:
Hostname REGEX (example) yourdomain.com|hostname2|hostname3|hostname4
Important! You cannot create more than one “Include hostname filter”; if you do, you will exclude all data. So try to fit all your hostnames into one expression (you have 255 characters).
The “valid hostname filter” configuration:
Filter Name: Include valid hostnames
Filter Type: Custom > Include
Filter Field: Hostname
Filter Pattern: [hostname REGEX you created]
Campaign source filter (Crawler spam, internal sources)
Prevents traffic from:
Crawler spam
Internal third-party tools (Trello, Asana, Pingdom)
Important note: Even if these hits are shown as a referral, the field you should use in the filter is “Campaign source” — the field “Referral” won’t work.
Filter for crawler spam
The second most common type of spam is crawler. They also pretend to be a valid visit by leaving a fake source URL, but in contrast with ghost spam, these do access your site. Therefore, they leave a correct hostname.
You will need to create an expression the same way as the hostname filter, but this time, you will put together the source/URLs of the spammy traffic. The difference is that you can create multiple exclude filters.
Crawler REGEX (example) spam1|spam2|spam3|spam4
Crawler REGEX (pre-built) As I promised, here are latest pre-built crawler expressions that you just need to copy/paste.
The “crawler spam filter” configuration:
Filter Name: Exclude crawler spam 1
Filter Type: Custom > Exclude
Filter Field: Campaign source
Filter Pattern: [crawler REGEX]
Filter for internal third-party tools
Although you can combine your crawler spam filter with internal third-party tools, I like to have them separated, to keep them organized and more accessible for updates.
The “internal tools filter” configuration:
Filter Name: Exclude internal tool sources
Filter Pattern: [tool source REGEX]
Internal Tools REGEX (example) trello|asana|redmine
In case, that one of the tools that you use internally also sends you traffic from real visitors, don’t filter it. Instead, use the “Exclude Internal URL Query” below.
For example, I use Trello, but since I share analytics guides on my site, some people link them from their Trello accounts.
Filters for language spam and other types of spam
The previous two filters will stop most of the spam; however, some spammers use different methods to bypass the previous solutions.
For example, they try to confuse you by showing one of your valid hostnames combined with a well-known source like Apple, Google, or Moz. Even my site has been a target (not saying that everyone knows my site; it just looks like the spammers don’t agree with my guides).
However, even if the source and host look fine, the spammer injects their message in another part of your reports like the keyword, page title, and even as a language.
In those cases, you will have to take the dimension/report where you find the spam and choose that name in the filter. It's important to consider that the name of the report doesn't always match the name in the filter field:
Report name
Filter field
Language
Language settings
Referral
Campaign source
Organic Keyword
Search term
Service Provider
ISP Organization
Network Domain
ISP Domain
Here are a couple of examples.
The “language spam/bot filter” configuration:
Filter Name: Exclude language spam
Filter Type: Custom > Exclude
Filter Field: Language settings
Filter Pattern: [Language REGEX]
Language Spam REGEX (Prebuilt) \s[^\s]*\s|.{15,}|\.|,|^c$
The expression above excludes fake languages that don't meet the required format. For example, take these weird messages appearing instead of regular languages like en-us or es-es:
Examples of language spam
The organic/keyword spam filter configuration:
Filter Name: Exclude organic spam
Filter Type: Custom > Exclude
Filter Field: Search term
Filter Pattern: [keyword REGEX]
Filters for direct bot traffic
Bot traffic is a little trickier to filter because it doesn't leave a source like spam, but it can still be filtered with a bit of patience.
The first thing you should do is enable bot filtering. In my opinion, it should be enabled by default.
Go to the Admin section of your Analytics and click on View Settings. You will find the option “Exclude all hits from known bots and spiders” below the currency selector:
It would be wonderful if this would take care of every bot — a dream come true. However, there's a catch: the key here is the word “known.” This option only takes care of known bots included in the “IAB known bots and spiders list." That's a good start, but far from enough.
There are a lot of “unknown” bots out there that are not included in that list, so you'll have to play detective and search for patterns of direct bot traffic through different reports until you find something that can be safely filtered without risking your real user data.
To start your bot trail search, click on the Segment box at the top of any report, and select the “Direct traffic” segment.
Then navigate through different reports to see if you find anything suspicious.
Some reports to start with:
Service provider
Browser version
Network domain
Screen resolution
Flash version
Country/City
Signs of bot traffic
Although bots are hard to detect, there are some signals you can follow:
An unnatural increase of direct traffic
Old versions (browsers, OS, Flash)
They visit the home page only (usually represented by a slash “/” in GA)
Extreme metrics:
Bounce rate close to 100%,
Session time close to 0 seconds,
1 page per session,
100% new users.
Important! If you find traffic that checks off many of these signals, it is likely bot traffic. However, not all entries with these characteristics are bots, and not all bots match these patterns, so be cautious.
Perhaps the most useful report that has helped me identify bot traffic is the “Service Provider” report. Large corporations frequently use their own Internet service provider name.
I also have a pre-built expression for ISP bots, similar to the crawler expressions.
The bot ISP filter configuration:
Filter Name: Exclude bots by ISP
Filter Type: Custom > Exclude
Filter Field: ISP organization
Filter Pattern: [ISP provider REGEX]
ISP provider bots REGEX (prebuilt) hubspot|^google\sllc$|^google\sinc\.$|alibaba\.com\sllc|ovh\shosting\sinc\. Latest ISP bot expression
IP filter for internal traffic
We already covered different types of internal traffic, the one from test sites (with the hostname filter), and the one from third-party tools (with the campaign source filter).
Now it's time to look at the most common and damaging of all: the traffic generated directly by you or any member of your team while working on any task for the site.
To deal with this, the standard solution is to create a filter that excludes the public IP (not private) of all locations used to work on the site.
Examples of places/people that should be filtered
Office
Support
Home
Developers
Hotel
Coffee shop
Bar
Mall
Any place that is regularly used to work on your site
To find the public IP of the location you are working at, simply search for "my IP" in Google. You will see one of these versions:
IP version
Example
Short IPv4
1.23.45.678
Long IPv6
2001:0db8:85a3:0000:0000:8a2e:0370:7334
No matter which version you see, make a list with the IP of each place and put them together with a REGEX, the same way we did with other filters.
IP address expression: IP1|IP2|IP3|IP4 and so on.
The static IP filter configuration:
Filter Name: Exclude internal traffic (IP)
Filter Type: Custom > Exclude
Filter Field: IP Address
Filter Pattern: [The IP expression]
Cases when this filter won’t be optimal:
There are some cases in which the IP filter won’t be as efficient as it used to be:
You use IP anonymization (required by the GDPR regulation). When you anonymize the IP in GA, the last part of the IP is changed to 0. This means that if you have 1.23.45.678, GA will pass it as 1.23.45.0, so you need to put it like that in your filter. The problem is that you might be excluding other IPs that are not yours.
Your Internet provider changes your IP frequently (Dynamic IP). This has become a common issue lately, especially if you have the long version (IPv6).
Your team works from multiple locations. The way of working is changing — now, not all companies operate from a central office. It's often the case that some will work from home, others from the train, in a coffee shop, etc. You can still filter those places; however, maintaining the list of IPs to exclude can be a nightmare,
You or your team travel frequently. Similar to the previous scenario, if you or your team travels constantly, there's no way you can keep up with the IP filters.
If you check one or more of these scenarios, then this filter is not optimal for you; I recommend you to try the “Advanced internal URL query filter” below.
URL query filter for internal traffic
If there are dozens or hundreds of employees in the company, it's extremely difficult to exclude them when they're traveling, accessing the site from their personal locations, or mobile networks.
Here’s where the URL query comes to the rescue. To use this filter you just need to add a query parameter. I add “?internal" to any link your team uses to access your site:
Internal newsletters
Management tools (Trello, Redmine)
Emails to colleagues
Also works by directly adding it in the browser address bar
Basic internal URL query filter
The basic version of this solution is to create a filter to exclude any URL that contains the query “?internal”.
Filter Name: Exclude Internal Traffic (URL Query)
Filter Type: Custom > Exclude
Filter Field: Request URI
Filter Pattern: \?internal
This solution is perfect for instances were the user will most likely stay on the landing page, for example, when sending a newsletter to all employees to check a new post.
If the user will likely visit more than the landing page, then the subsequent pages will be recorded.
Advanced internal URL query filter
This solution is the champion of all internal traffic filters!
It’s a more comprehensive version of the previous solution and works by filtering internal traffic dynamically using Google Tag Manager, a GA custom dimension, and cookies.
Although this solution is a bit more complicated to set up, once it's in place:
It doesn’t need maintenance
Any team member can use it, no need to explain techy stuff
Can be used from any location
Can be used from any device, and any browser
To activate the filter, you just have to add the text “?internal” to any URL of the website.
That will insert a small cookie in the browser that will tell GA not to record the visits from that browser.
And the best of it is that the cookie will stay there for a year (unless it is manually removed), so the user doesn’t have to add “?internal” every time.
Bonus filter: Include only internal traffic
In some occasions, it's interesting to know the traffic generated internally by employees — maybe because you want to measure the success of an internal campaign or just because you're a curious person.
In that case, you should create an additional view, call it “Internal Traffic Only,” and use one of the internal filters above. Just one! Because if you have multiple include filters, the hit will need to match all of them to be counted.
If you configured the “Advanced internal URL query” filter, use that one. If not, choose one of the others.
The configuration is exactly the same — you only need to change “Exclude” for “Include.”
Cleaning historical data
The filters will prevent future hits from junk traffic.
But what about past affected data?
I know I told you that deleting aggregated historical data is not possible in GA. However, there's still a way to temporarily clean up at least some of the nasty traffic that has already polluted your reports.
For this, we'll use an advanced segment (a subset of your Analytics data). There are built-in segments like “Organic” or “Mobile,” but you can also build one using your own set of rules.
To clean our historical data, we will build a segment using all the expressions from the filters above as conditions (except the ones from the IP filter, because IPs are not stored in GA; hence, they can’t be segmented).
To help you get started, you can import this segment template.
You just need to follow the instructions on that page and replace the placeholders. Here is how it looks:
In the actual template, all text is black; the colors are just to help you visualize the conditions.
After importing it, to select the segment:
Click on the box that says “All users” at the top of any of your reports
From your list of segments, check the one that says “0. All Users - Clean”
Lastly, uncheck the “All Users”
Now you can navigate through your reaports and all the junk traffic included in the segment will be removed.
A few things to consider when using this segment:
Segments have to be selected each time. A way of having it selected by default is by adding a bookmark when the segment is selected.
You can remove or add conditions if you need to.
You can edit the segment at any time to update it or add conditions (open the list of segments, then click “Actions” then “Edit”).
The hostname expression and third-party tools expression are different for each site.
If your site has a large volume of traffic, segments may sample your data when selected, so if you see the little shield icon at the top of your reports go yellow (normally is green), try choosing a shorter period (i.e. 1 year, 6 months, one month).
Conclusion: Which cake would you eat?
Having real and accurate data is essential for your Google Analytics to report as you would expect.
But if you haven’t filtered it properly, it’s almost certain that it will be filled with all sorts of junk and artificial information.
And the worst part is that if don't realize that your reports contain bogus data, you will likely make wrong or poor decisions when deciding on the next steps for your site or business.
The filters I share above will help you prevent the three most harmful threats that are polluting your Google Analytics and don’t let you get a clear view of the actual performance of your site: spam, bots, and internal traffic.
Once these filters are in place, you can rest assured that your efforts (and money!) won’t be wasted on analyzing deceptive Google Analytics data, and your decisions will be based on solid information.
And the benefits don’t stop there. If you're using other tools that import data from GA, for example, WordPress plugins like GADWP, excel add-ins like AnalyticsEdge, or SEO suites like Moz Pro, the benefits will trickle down to all of them as well.
Besides highlighting the importance of the filters in GA (which I hope I made clear by now), I would also love that for the preparation of these filters to give you the curiosity and basis to create others that will allow you to do all sorts of remarkable things with your data.
Remember, filters not only allow you to keep away junk, you can also use them to rearrange your real user information — but more on that on another occasion.
That’s it! I hope these tips help you make more sense of your data and make accurate decisions.
Have any questions, feedback, experiences? Let me know in the comments, or reach me on Twitter @carlosesal.
Complementary resources:
Google Analytics spam & bots (FAQ): Common data quality questions and concerns answered
Ultimate guide to stopping bots and Google Analytics spam (Always up to date)
Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!
Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics
0 notes
arthurjeffries · 6 years
Text
Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics
Posted by Carlosesal
There is no doubt that Google Analytics is one of the most important tools you could use to understand your users' behavior and measure the performance of your site. There's a reason it's used by millions across the world.
But despite being such an essential part of the decision-making process for many businesses and blogs, I often find sites (of all sizes) that do little or no data filtering after installing the tracking code, which is a huge mistake.
Think of a Google Analytics property without filtered data as one of those styrofoam cakes with edible parts. It may seem genuine from the top, and it may even feel right when you cut a slice, but as you go deeper and deeper you find that much of it is artificial.
If you're one of those that haven’t properly configured their Google Analytics and you only pay attention to the summary reports, you probably won't notice that there's all sorts of bogus information mixed in with your real user data.
And as a consequence, you won't realize that your efforts are being wasted on analyzing data that doesn't represent the actual performance of your site.
To make sure you're getting only the real ingredients and prevent you from eating that slice of styrofoam, I'll show you how to use the tools that GA provides to eliminate all the artificial excess that inflates your reports and corrupts your data.
Common Google Analytics threats
As most of the people I've worked with know, I’ve always been obsessed with the accuracy of data, mainly because as a marketer/analyst there's nothing worse than realizing that you’ve made a wrong decision because your data wasn’t accurate. That’s why I’m continually exploring new ways of improving it.
As a result of that research, I wrote my first Moz post about the importance of filtering in Analytics, specifically about ghost spam, which was a significant problem at that time and still is (although to a lesser extent).
While the methods described there are still quite useful, I’ve since been researching solutions for other types of Google Analytics spam and a few other threats that might not be as annoying, but that are equally or even more harmful to your Analytics.
Let’s review, one by one.
Ghosts, crawlers, and other types of spam
The GA team has done a pretty good job handling ghost spam. The amount of it has been dramatically reduced over the last year, compared to the outbreak in 2015/2017.
However, the millions of current users and the thousands of new, unaware users that join every day, plus the majority's curiosity to discover why someone is linking to their site, make Google Analytics too attractive a target for the spammers to just leave it alone.
The same logic can be applied to any widely used tool: no matter what security measures it has, there will always be people trying to abuse its reach for their own interest. Thus, it's wise to add an extra security layer.
Take, for example, the most popular CMS: Wordpress. Despite having some built-in security measures, if you don't take additional steps to protect it (like setting a strong username and password or installing a security plugin), you run the risk of being hacked.
The same happens to Google Analytics, but instead of plugins, you use filters to protect it.
In which reports can you look for spam?
Spam traffic will usually show as a Referral, but it can appear in any part of your reports, even in unsuspecting places like a language or page title.
Sometimes spammers will try to fool by using misleading URLs that are very similar to known websites, or they may try to get your attention by using unusual characters and emojis in the source name.
Independently of the type of spam, there are 3 things you always should do when you think you found one in your reports:
Never visit the suspicious URL. Most of the time they'll try to sell you something or promote their service, but some spammers might have some malicious scripts on their site.
This goes without saying, but never install scripts from unknown sites; if for some reason you did, remove it immediately and scan your site for malware.
Filter out the spam in your Google Analytics to keep your data clean (more on that below).
If you're not sure whether an entry on your report is real, try searching for the URL in quotes (“example.com”). Your browser won’t open the site, but instead will show you the search results; if it is spam, you'll usually see posts or forums complaining about it.
If you still can’t find information about that particular entry, give me a shout — I might have some knowledge for you.
Bot traffic
A bot is a piece of software that runs automated scripts over the Internet for different purposes.
There are all kinds of bots. Some have good intentions, like the bots used to check copyrighted content or the ones that index your site for search engines, and others not so much, like the ones scraping your content to clone it.
2016 bot traffic report. Source: Incapsula
In either case, this type of traffic is not useful for your reporting and might be even more damaging than spam both because of the amount and because it's harder to identify (and therefore to filter it out).
It's worth mentioning that bots can be blocked from your server to stop them from accessing your site completely, but this usually involves editing sensible files that require high technical knowledge, and as I said before, there are good bots too.
So, unless you're receiving a direct attack that's skewing your resources, I recommend you just filter them in Google Analytics.
In which reports can you look for bot traffic?
Bots will usually show as Direct traffic in Google Analytics, so you'll need to look for patterns in other dimensions to be able to filter it out. For example, large companies that use bots to navigate the Internet will usually have a unique service provider.
I’ll go into more detail on this below.
Internal traffic
Most users get worried and anxious about spam, which is normal — nobody likes weird URLs showing up in their reports. However, spam isn't the biggest threat to your Google Analytics.
You are!
The traffic generated by people (and bots) working on the site is often overlooked despite the huge negative impact it has. The main reason it's so damaging is that in contrast to spam, internal traffic is difficult to identify once it hits your Analytics, and it can easily get mixed in with your real user data.
There are different types of internal traffic and different ways of dealing with it.
Direct internal traffic
Testers, developers, marketing team, support, outsourcing... the list goes on. Any member of the team that visits the company website or blog for any purpose could be contributing.
In which reports can you look for direct internal traffic?
Unless your company uses a private ISP domain, this traffic is tough to identify once it hits you, and will usually show as Direct in Google Analytics.
Third-party sites/tools
This type of internal traffic includes traffic generated directly by you or your team when using tools to work on the site; for example, management tools like Trello or Asana,
It also considers traffic coming from bots doing automatic work for you; for example, services used to monitor the performance of your site, like Pingdom or GTmetrix.
Some types of tools you should consider:
Project management
Social media management
Performance/uptime monitoring services
SEO tools
In which reports can you look for internal third-party tools traffic?
This traffic will usually show as Referral in Google Analytics.
Development/staging environments
Some websites use a test environment to make changes before applying them to the main site. Normally, these staging environments have the same tracking code as the production site, so if you don’t filter it out, all the testing will be recorded in Google Analytics.
In which reports can you look for development/staging environments?
This traffic will usually show as Direct in Google Analytics, but you can find it under its own hostname (more on this later).
Web archive sites and cache services
Archive sites like the Wayback Machine offer historical views of websites. The reason you can see those visits on your Analytics — even if they are not hosted on your site — is that the tracking code was installed on your site when the Wayback Machine bot copied your content to its archive.
One thing is for certain: when someone goes to check how your site looked in 2015, they don't have any intention of buying anything from your site — they're simply doing it out of curiosity, so this traffic is not useful.
In which reports can you look for traffic from web archive sites and cache services?
You can also identify this traffic on the hostname report.
A basic understanding of filters
The solutions described below use Google Analytics filters, so to avoid problems and confusion, you'll need some basic understanding of how they work and check some prerequisites.
Things to consider before using filters:
1. Create an unfiltered view.
Before you do anything, it's highly recommendable to make an unfiltered view; it will help you track the efficacy of your filters. Plus, it works as a backup in case something goes wrong.
2. Make sure you have the correct permissions.
You will need edit permissions at the account level to create filters; edit permissions at view or property level won’t work.
3. Filters don’t work retroactively.
In GA, aggregated historical data can’t be deleted, at least not permanently. That's why the sooner you apply the filters to your data, the better.
4. The changes made by filters are permanent!
If your filter is not correctly configured because you didn’t enter the correct expression (missing relevant entries, a typo, an extra space, etc.), you run the risk of losing valuable data FOREVER; there is no way of recovering filtered data.
But don’t worry — if you follow the recommendations below, you shouldn’t have a problem.
5. Wait for it.
Most of the time you can see the effect of the filter within minutes or even seconds after applying it; however, officially it can take up to twenty-four hours, so be patient.
Types of filters
There are two main types of filters: predefined and custom.
Predefined filters are very limited, so I rarely use them. I prefer to use the custom ones because they allow regular expressions, which makes them a lot more flexible.
Within the custom filters, there are five types: exclude, include, lowercase/uppercase, search and replace, and advanced.
Here we will use the first two: exclude and include. We'll save the rest for another occasion.
Essentials of regular expressions
If you already know how to work with regular expressions, you can jump to the next section.
REGEX (short for regular expressions) are text strings prepared to match patterns with the use of some special characters. These characters help match multiple entries in a single filter.
Don’t worry if you don’t know anything about them. We will use only the basics, and for some filters, you will just have to COPY-PASTE the expressions I pre-built.
REGEX special characters
There are many special characters in REGEX, but for basic GA expressions we can focus on three:
^ The caret: used to indicate the beginning of a pattern,
$ The dollar sign: used to indicate the end of a pattern,
| The pipe or bar: means "OR," and it is used to indicate that you are starting a new pattern.
When using the pipe character, you should never ever:
Put it at the beginning of the expression,
Put it at the end of the expression,
Put 2 or more together.
Any of those will mess up your filter and probably your Analytics.
A simple example of REGEX usage
Let's say I go to a restaurant that has an automatic machine that makes fruit salad, and to choose the fruit, you should use regular xxpressions.
This super machine has the following fruits to choose from: strawberry, orange, blueberry, apple, pineapple, and watermelon.
To make a salad with my favorite fruits (strawberry, blueberry, apple, and watermelon), I have to create a REGEX that matches all of them. Easy! Since the pipe character “|” means OR I could do this:
REGEX 1: strawberry|blueberry|apple|watermelon
The problem with that expression is that REGEX also considers partial matches, and since pineapple also contains “apple,” it would be selected as well... and I don’t like pineapple!
To avoid that, I can use the other two special characters I mentioned before to make an exact match for apple. The caret “^” (begins here) and the dollar sign “$” (ends here). It will look like this:
REGEX 2: strawberry|blueberry|^apple$|watermelon
The expression will select precisely the fruits I want.
But let’s say for demonstration's sake that the fewer characters you use, the cheaper the salad will be. To optimize the expression, I can use the ability for partial matches in REGEX.
Since strawberry and blueberry both contain "berry," and no other fruit in the list does, I can rewrite my expression like this:
Optimized REGEX: berry|^apple$|watermelon
That’s it — now I can get my fruit salad with the right ingredients, and at a lower price.
3 ways of testing your filter expression
As I mentioned before, filter changes are permanent, so you have to make sure your filters and REGEX are correct. There are 3 ways of testing them:
Right from the filter window; just click on “Verify this filter,” quick and easy. However, it's not the most accurate since it only takes a small sample of data.
Using an online REGEX tester; very accurate and colorful, you can also learn a lot from these, since they show you exactly the matching parts and give you a brief explanation of why.
Using an in-table temporary filter in GA; you can test your filter against all your historical data. This is the most precise way of making sure you don’t miss anything.
If you're doing a simple filter or you have plenty of experience, you can use the built-in filter verification. However, if you want to be 100% sure that your REGEX is ok, I recommend you build the expression on the online tester and then recheck it using an in-table filter.
Quick REGEX challenge
Here's a small exercise to get you started. Go to this premade example with the optimized expression from the fruit salad case and test the first 2 REGEX I made. You'll see live how the expressions impact the list.
Now make your own expression to pay as little as possible for the salad.
Remember:
We only want strawberry, blueberry, apple, and watermelon;
The fewer characters you use, the less you pay;
You can do small partial matches, as long as they don’t include the forbidden fruits.
Tip: You can do it with as few as 6 characters.
Now that you know the basics of REGEX, we can continue with the filters below. But I encourage you to put “learn more about REGEX” on your to-do list — they can be incredibly useful not only for GA, but for many tools that allow them.
How to create filters to stop spam, bots, and internal traffic in Google Analytics
Back to our main event: the filters!
Where to start: To avoid being repetitive when describing the filters below, here are the standard steps you need to follow to create them:
Go to the admin section in your Google Analytics (the gear icon at the bottom left corner),
Under the View column (master view), click the button “Filters” (don’t click on “All filters“ in the Account column):
Click the red button “+Add Filter” (if you don’t see it or you can only apply/remove already created filters, then you don’t have edit permissions at the account level. Ask your admin to create them or give you the permissions.):
Then follow the specific configuration for each of the filters below.
The filter window is your best partner for improving the quality of your Analytics data, so it will be a good idea to get familiar with it.
Valid hostname filter (ghost spam, dev environments)
Prevents traffic from:
Ghost spam
Development hostnames
Scraping sites
Cache and archive sites
This filter may be the single most effective solution against spam. In contrast with other commonly shared solutions, the hostname filter is preventative, and it rarely needs to be updated.
Ghost spam earns its name because it never really visits your site. It’s sent directly to the Google Analytics servers using a feature called Measurement Protocol, a tool that under normal circumstances allows tracking from devices that you wouldn’t imagine that could be traced, like coffee machines or refrigerators.
Real users pass through your server, then the data is sent to GA; hence it leaves valid information. Ghost spam is sent directly to GA servers, without knowing your site URL; therefore all data left is fake. Source: carloseo.com
The spammer abuses this feature to simulate visits to your site, most likely using automated scripts to send traffic to randomly generated tracking codes (UA-0000000-1).
Since these hits are random, the spammers don't know who they're hitting; for that reason ghost spam will always leave a fake or (not set) host. Using that logic, by creating a filter that only includes valid hostnames all ghost spam will be left out.
Where to find your hostnames
Now here comes the “tricky” part. To create this filter, you will need, to make a list of your valid hostnames.
A list of what!?
Essentially, a hostname is any place where your GA tracking code is present. You can get this information from the hostname report:
Go to Audience > Select Network > At the top of the table change the primary dimension to Hostname.
If your Analytics is active, you should see at least one: your domain name. If you see more, scan through them and make a list of all the ones that are valid for you.
Types of hostname you can find
The good ones:
Type
Example
Your domain and subdomains
yourdomain.com
Tools connected to your Analytics
YouTube, MailChimp
Payment gateways
Shopify, booking systems
Translation services
Google Translate
Mobile speed-up services
Google weblight
The bad ones (by bad, I mean not useful for your reports):
Type
Example/Description
Staging/development environments
staging.yourdomain.com
Internet archive sites
web.archive.org
Scraping sites that don’t bother to trim the content
The URL of the scraper
Spam
Most of the time they will show their URL, but sometimes they may use the name of a known website to try to fool you. If you see a URL that you don’t recognize, just think, “do I manage it?” If the answer is no, then it isn't your hostname.
(not set) hostname
It usually comes from spam. On rare occasions it's related to tracking code issues.
Below is an example of my hostname report. From the unfiltered view, of course, the master view is squeaky clean.
Now with the list of your good hostnames, make a regular expression. If you only have your domain, then that is your expression; if you have more, create an expression with all of them as we did in the fruit salad example:
Hostname REGEX (example) yourdomain.com|hostname2|hostname3|hostname4
Important! You cannot create more than one “Include hostname filter”; if you do, you will exclude all data. So try to fit all your hostnames into one expression (you have 255 characters).
The “valid hostname filter” configuration:
Filter Name: Include valid hostnames
Filter Type: Custom > Include
Filter Field: Hostname
Filter Pattern: [hostname REGEX you created]
Campaign source filter (Crawler spam, internal sources)
Prevents traffic from:
Crawler spam
Internal third-party tools (Trello, Asana, Pingdom)
Important note: Even if these hits are shown as a referral, the field you should use in the filter is “Campaign source” — the field “Referral” won’t work.
Filter for crawler spam
The second most common type of spam is crawler. They also pretend to be a valid visit by leaving a fake source URL, but in contrast with ghost spam, these do access your site. Therefore, they leave a correct hostname.
You will need to create an expression the same way as the hostname filter, but this time, you will put together the source/URLs of the spammy traffic. The difference is that you can create multiple exclude filters.
Crawler REGEX (example) spam1|spam2|spam3|spam4
Crawler REGEX (pre-built) As I promised, here are latest pre-built crawler expressions that you just need to copy/paste.
The “crawler spam filter” configuration:
Filter Name: Exclude crawler spam 1
Filter Type: Custom > Exclude
Filter Field: Campaign source
Filter Pattern: [crawler REGEX]
Filter for internal third-party tools
Although you can combine your crawler spam filter with internal third-party tools, I like to have them separated, to keep them organized and more accessible for updates.
The “internal tools filter” configuration:
Filter Name: Exclude internal tool sources
Filter Pattern: [tool source REGEX]
Internal Tools REGEX (example) trello|asana|redmine
In case, that one of the tools that you use internally also sends you traffic from real visitors, don’t filter it. Instead, use the “Exclude Internal URL Query” below.
For example, I use Trello, but since I share analytics guides on my site, some people link them from their Trello accounts.
Filters for language spam and other types of spam
The previous two filters will stop most of the spam; however, some spammers use different methods to bypass the previous solutions.
For example, they try to confuse you by showing one of your valid hostnames combined with a well-known source like Apple, Google, or Moz. Even my site has been a target (not saying that everyone knows my site; it just looks like the spammers don’t agree with my guides).
However, even if the source and host look fine, the spammer injects their message in another part of your reports like the keyword, page title, and even as a language.
In those cases, you will have to take the dimension/report where you find the spam and choose that name in the filter. It's important to consider that the name of the report doesn't always match the name in the filter field:
Report name
Filter field
Language
Language settings
Referral
Campaign source
Organic Keyword
Search term
Service Provider
ISP Organization
Network Domain
ISP Domain
Here are a couple of examples.
The “language spam/bot filter” configuration:
Filter Name: Exclude language spam
Filter Type: Custom > Exclude
Filter Field: Language settings
Filter Pattern: [Language REGEX]
Language Spam REGEX (Prebuilt) \s[^\s]*\s|.{15,}|\.|,|^c$
The expression above excludes fake languages that don't meet the required format. For example, take these weird messages appearing instead of regular languages like en-us or es-es:
Examples of language spam
The organic/keyword spam filter configuration:
Filter Name: Exclude organic spam
Filter Type: Custom > Exclude
Filter Field: Search term
Filter Pattern: [keyword REGEX]
Filters for direct bot traffic
Bot traffic is a little trickier to filter because it doesn't leave a source like spam, but it can still be filtered with a bit of patience.
The first thing you should do is enable bot filtering. In my opinion, it should be enabled by default.
Go to the Admin section of your Analytics and click on View Settings. You will find the option “Exclude all hits from known bots and spiders” below the currency selector:
It would be wonderful if this would take care of every bot — a dream come true. However, there's a catch: the key here is the word “known.” This option only takes care of known bots included in the “IAB known bots and spiders list." That's a good start, but far from enough.
There are a lot of “unknown” bots out there that are not included in that list, so you'll have to play detective and search for patterns of direct bot traffic through different reports until you find something that can be safely filtered without risking your real user data.
To start your bot trail search, click on the Segment box at the top of any report, and select the “Direct traffic” segment.
Then navigate through different reports to see if you find anything suspicious.
Some reports to start with:
Service provider
Browser version
Network domain
Screen resolution
Flash version
Country/City
Signs of bot traffic
Although bots are hard to detect, there are some signals you can follow:
An unnatural increase of direct traffic
Old versions (browsers, OS, Flash)
They visit the home page only (usually represented by a slash “/” in GA)
Extreme metrics:
Bounce rate close to 100%,
Session time close to 0 seconds,
1 page per session,
100% new users.
Important! If you find traffic that checks off many of these signals, it is likely bot traffic. However, not all entries with these characteristics are bots, and not all bots match these patterns, so be cautious.
Perhaps the most useful report that has helped me identify bot traffic is the “Service Provider” report. Large corporations frequently use their own Internet service provider name.
I also have a pre-built expression for ISP bots, similar to the crawler expressions.
The bot ISP filter configuration:
Filter Name: Exclude bots by ISP
Filter Type: Custom > Exclude
Filter Field: ISP organization
Filter Pattern: [ISP provider REGEX]
ISP provider bots REGEX (prebuilt) hubspot|^google\sllc$|^google\sinc\.$|alibaba\.com\sllc|ovh\shosting\sinc\. Latest ISP bot expression
IP filter for internal traffic
We already covered different types of internal traffic, the one from test sites (with the hostname filter), and the one from third-party tools (with the campaign source filter).
Now it's time to look at the most common and damaging of all: the traffic generated directly by you or any member of your team while working on any task for the site.
To deal with this, the standard solution is to create a filter that excludes the public IP (not private) of all locations used to work on the site.
Examples of places/people that should be filtered
Office
Support
Home
Developers
Hotel
Coffee shop
Bar
Mall
Any place that is regularly used to work on your site
To find the public IP of the location you are working at, simply search for "my IP" in Google. You will see one of these versions:
IP version
Example
Short IPv4
1.23.45.678
Long IPv6
2001:0db8:85a3:0000:0000:8a2e:0370:7334
No matter which version you see, make a list with the IP of each place and put them together with a REGEX, the same way we did with other filters.
IP address expression: IP1|IP2|IP3|IP4 and so on.
The static IP filter configuration:
Filter Name: Exclude internal traffic (IP)
Filter Type: Custom > Exclude
Filter Field: IP Address
Filter Pattern: [The IP expression]
Cases when this filter won’t be optimal:
There are some cases in which the IP filter won’t be as efficient as it used to be:
You use IP anonymization (required by the GDPR regulation). When you anonymize the IP in GA, the last part of the IP is changed to 0. This means that if you have 1.23.45.678, GA will pass it as 1.23.45.0, so you need to put it like that in your filter. The problem is that you might be excluding other IPs that are not yours.
Your Internet provider changes your IP frequently (Dynamic IP). This has become a common issue lately, especially if you have the long version (IPv6).
Your team works from multiple locations. The way of working is changing — now, not all companies operate from a central office. It's often the case that some will work from home, others from the train, in a coffee shop, etc. You can still filter those places; however, maintaining the list of IPs to exclude can be a nightmare,
You or your team travel frequently. Similar to the previous scenario, if you or your team travels constantly, there's no way you can keep up with the IP filters.
If you check one or more of these scenarios, then this filter is not optimal for you; I recommend you to try the “Advanced internal URL query filter” below.
URL query filter for internal traffic
If there are dozens or hundreds of employees in the company, it's extremely difficult to exclude them when they're traveling, accessing the site from their personal locations, or mobile networks.
Here’s where the URL query comes to the rescue. To use this filter you just need to add a query parameter. I add “?internal" to any link your team uses to access your site:
Internal newsletters
Management tools (Trello, Redmine)
Emails to colleagues
Also works by directly adding it in the browser address bar
Basic internal URL query filter
The basic version of this solution is to create a filter to exclude any URL that contains the query “?internal”.
Filter Name: Exclude Internal Traffic (URL Query)
Filter Type: Custom > Exclude
Filter Field: Request URI
Filter Pattern: \?internal
This solution is perfect for instances were the user will most likely stay on the landing page, for example, when sending a newsletter to all employees to check a new post.
If the user will likely visit more than the landing page, then the subsequent pages will be recorded.
Advanced internal URL query filter
This solution is the champion of all internal traffic filters!
It’s a more comprehensive version of the previous solution and works by filtering internal traffic dynamically using Google Tag Manager, a GA custom dimension, and cookies.
Although this solution is a bit more complicated to set up, once it's in place:
It doesn’t need maintenance
Any team member can use it, no need to explain techy stuff
Can be used from any location
Can be used from any device, and any browser
To activate the filter, you just have to add the text “?internal” to any URL of the website.
That will insert a small cookie in the browser that will tell GA not to record the visits from that browser.
And the best of it is that the cookie will stay there for a year (unless it is manually removed), so the user doesn’t have to add “?internal” every time.
Bonus filter: Include only internal traffic
In some occasions, it's interesting to know the traffic generated internally by employees — maybe because you want to measure the success of an internal campaign or just because you're a curious person.
In that case, you should create an additional view, call it “Internal Traffic Only,” and use one of the internal filters above. Just one! Because if you have multiple include filters, the hit will need to match all of them to be counted.
If you configured the “Advanced internal URL query” filter, use that one. If not, choose one of the others.
The configuration is exactly the same — you only need to change “Exclude” for “Include.”
Cleaning historical data
The filters will prevent future hits from junk traffic.
But what about past affected data?
I know I told you that deleting aggregated historical data is not possible in GA. However, there's still a way to temporarily clean up at least some of the nasty traffic that has already polluted your reports.
For this, we'll use an advanced segment (a subset of your Analytics data). There are built-in segments like “Organic” or “Mobile,” but you can also build one using your own set of rules.
To clean our historical data, we will build a segment using all the expressions from the filters above as conditions (except the ones from the IP filter, because IPs are not stored in GA; hence, they can’t be segmented).
To help you get started, you can import this segment template.
You just need to follow the instructions on that page and replace the placeholders. Here is how it looks:
In the actual template, all text is black; the colors are just to help you visualize the conditions.
After importing it, to select the segment:
Click on the box that says “All users” at the top of any of your reports
From your list of segments, check the one that says “0. All Users - Clean”
Lastly, uncheck the “All Users”
Now you can navigate through your reaports and all the junk traffic included in the segment will be removed.
A few things to consider when using this segment:
Segments have to be selected each time. A way of having it selected by default is by adding a bookmark when the segment is selected.
You can remove or add conditions if you need to.
You can edit the segment at any time to update it or add conditions (open the list of segments, then click “Actions” then “Edit”).
The hostname expression and third-party tools expression are different for each site.
If your site has a large volume of traffic, segments may sample your data when selected, so if you see the little shield icon at the top of your reports go yellow (normally is green), try choosing a shorter period (i.e. 1 year, 6 months, one month).
Conclusion: Which cake would you eat?
Having real and accurate data is essential for your Google Analytics to report as you would expect.
But if you haven’t filtered it properly, it’s almost certain that it will be filled with all sorts of junk and artificial information.
And the worst part is that if don't realize that your reports contain bogus data, you will likely make wrong or poor decisions when deciding on the next steps for your site or business.
The filters I share above will help you prevent the three most harmful threats that are polluting your Google Analytics and don’t let you get a clear view of the actual performance of your site: spam, bots, and internal traffic.
Once these filters are in place, you can rest assured that your efforts (and money!) won’t be wasted on analyzing deceptive Google Analytics data, and your decisions will be based on solid information.
And the benefits don’t stop there. If you're using other tools that import data from GA, for example, WordPress plugins like GADWP, excel add-ins like AnalyticsEdge, or SEO suites like Moz Pro, the benefits will trickle down to all of them as well.
Besides highlighting the importance of the filters in GA (which I hope I made clear by now), I would also love that for the preparation of these filters to give you the curiosity and basis to create others that will allow you to do all sorts of remarkable things with your data.
Remember, filters not only allow you to keep away junk, you can also use them to rearrange your real user information — but more on that on another occasion.
That’s it! I hope these tips help you make more sense of your data and make accurate decisions.
Have any questions, feedback, experiences? Let me know in the comments, or reach me on Twitter @carlosesal.
Complementary resources:
Google Analytics spam & bots (FAQ): Common data quality questions and concerns answered
Ultimate guide to stopping bots and Google Analytics spam (Always up to date)
Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!
Trust Your Data: How to Efficiently Filter Spam, Bots, & Other Junk Traffic in Google Analytics published first on https://steelcitygaragedoors.blogspot.com
0 notes