6 Lessons from 6 Years of Player-First Community Management

6 Lessons from 6 Years of Player-First Community Management

March 26, 2021

Chad Kihm, GamerSpeak’s CEO, started building communities for games because he wanted his team to become the best alliance in “Game of War”. While on the journey, he discovered his team members were losing thousands of dollars because they didn’t understand the game. With team members on the verge of quitting, and the developers losing tons of money from high churn. Chad set out to teach his teammates how to win by building an authentic Superuser-led community. The insights from this community ended up saving the developers a massive amount of money, and helped them design new highly-engaging, highly monetizable features that reduce their churn. Now, after being in business for over five years, GamerSpeak’s sentiment system has helped seven of their clients increase their games to over $1 Billion in revenue.

In this video, Chad presented at the Indie Game Business virtual event, where he discussed six major lessons he’s learned and how you can apply each one to your Video Game Communities.

Check the end of the article below for ideas you can use right now for your community!

Watch The Presentation


Table of Contents

  1. My Background
  2. The Community Management Mindset
  3. Communities Don’t Build Themselves
  4. Why Players Quit 
  5. The Key to Player Retention 
  6. Find and Reward Key Community Members
  7. How Transparency and Authenticity Builds Trust

My Background

One important aspect of my background is I’ve never worked at a Development Studio or as a Publisher. I’m naturally going to approach my business from a very different perspective because I’ve only been a player. My background is mainly in free-to-play mid-to-hardcore game genres. I developed relationships with VIPs across a variety of games and the people we hire are players like me in various games. We work with them to create content, build communities, and relay actionable feedback to the publisher.

The Community Management Mindset

When you’re developing a game, you should have a player-centric mindset, through the lens of a gamer. A friend of mine who works at a big AAA studio joined the pre-alphas for Epic’s Fortnite and Proletariat’s Spellbreak. 

He was immediately blown away by the communication that was happening between the players and the publisher. There was so much engagement and so many ideas being thrown out. 

The biggest thing was that the developers were constantly implementing player ideas. Originally, his boss did not believe these games would be successful, but both these games ended up being incredibly popular. 

Community feedback can be a leading indicator of the success of your game. Do not underestimate that pre-alpha stage and do not underestimate feedback from your early Superusers. 

Here are some questions to ask yourself to see if you have a player-centric mindset:

Are your new developments making players happy? 

Are you showing them empathy when they run into problems? 

You can verify these questions by observing whether your healthy players are being overtly negative or if they are understanding and appreciative. 

Are you supporting and promoting content creators who allow players to engage with your game outside of playing it? Players are not in-game 100% of the time. However, they will still try to engage with the game in some capacity when they’re offline, whether it’s on Discord, YouTube, Twitch, or Reddit. You want to support these communities so that players are still in the ecosystem of your game even when they’re offline. 

Lastly, are you removing bad actors from your official communities? For the most part, the overtly negative, bad actors are easy to remove. However, it can be difficult when there are manipulative players who are good sometimes and bad other times. Are they pushing your most valuable influencers out of your game and your community? We’ll talk more about that later.

Pitfall #1

The pitfall here is waiting too long to find solutions to player complaints until you’re desperately trying to prevent loss of revenue. You can fall into this pitfall in a few ways. 

First, you’re listening, but you don’t know what to do. You understand that there’s an issue with the game, but you’re not sure how to resolve it and whether it’s from a technical or a design perspective. In this case, I recommend enlisting some knowledgeable players (ninjas) to help generate ideas on how to solve that problem.

Second, you’re listening, but you don’t want to make a change. Here is the situation where your data tells a different story when compared to the community’s feedback. 

For example, this is a case that I see regularly. A game launches an event but the players don’t enjoy the event and communicate their frustrations about it. They still engage with the event anyway because they want the rewards and they want to try it out, but they’re very clear that they don’t like the event and give feedback about it. 

You, as a developer, hear the feedback and look at your data. You see more engagement and more money being spent, so naturally, you think the event is fine. Then, you run the event again and all of a sudden, all your metrics are down and you have more negative sentiment. Now you’ve lost player trust and KPIs have gone down. 

In a lot of cases, feedback is a leading indicator of success for different elements of your game. Trust the feedback even if you don’t like it or your data says something different. Do not minimize that player feedback. Try to figure out ways to make it a win-win solution where you have elements of the event that you like while ensuring that your players enjoy it as well.

Communities Don’t Build Themselves

Communities don’t build themselves. There are two really effective ways to think about how a community can be built: Community by Design and Community by Default. What I typically see is Community by Default, where you did not plan enough in advance for how you’re going to support your community, and you’re just waiting to see if the game is a success first. Even if resources are limited early on, do not limit your community planning. 

Let’s go over Community by Design, the one that’s planned and nurtured. There are three elements of nurturing. You can think of your community as a garden.

There are three elements of nurturing. You can think of your community as a garden. 

First, you fertilize it. Have a plan right at launch of the steps you will take to support your influencers and your fan communities. This can be beta programs, in-game currency giveaways, exposure for early creators, or valuing player feedback and testing player ideas. Epic implemented some really wacky player feedback into Fortnite at the beginning of their beta, and the players loved it. 

Second, you water it. Work with your influencers to create unofficial cornerstone guides for your game. They’re authentic and relatable since they’re written by players. Promote videos and content that they create, help them grow their audience, and help them make a lifestyle out of your game. Do not underestimate the support that you can provide for free by giving them exposure and by boosting their presence in the community. Also, build a diverse crew of influencers who will provide you information about the various players in your community and help you with reactive feedback and proactive feedback. 

Third, you prune it. If you want to nurture a community of encouraging and positive players, you must prune out the toxic agents. If you don’t, you end up with a Community by Default and they can often be negative, harmful, hostile to new players. If you don’t support your influencers or your fan communities, they might leave for other games as soon as there’s a better option out there. 

It’s unfortunate for players to feel like they don’t have a good relationship with the developers. If they do have a good relationship, it’s really encouraging to them. It’s something that they find to be rare and attractive.

Plan ahead as much as you can. Do not wait until the last minute or wait to see if the game is a success first. Waiting will only create Communities by Default instead of Communities by Design.

The Pitfall #2

The pitfall here is not nurturing your community. If you have loyal players and amazing content creators, make sure you establish a relationship with those influencers. If you don’t, they may just shift to a new game when another popular one comes along. If I was developing a game and somebody had 5,000 or 10,000 subs and hundreds of thousands of views, I’d want to make sure that they continue making content for my game.

Nurturing

Here are some great examples of how you can nurture your influencers:

Promotion: Helping your influencers increase their following and influencer through promotion is an easy and an inexpensive (usually free) method to build relationships. With Summoners War, there’s a slider after you load up the game that shares all of their influencers with their follower count and the type of content they cover. Typically, players don’t engage with anything while the game is loading so promoting influencers will give them a big enough following to want to keep making more content for your game. In some cases they may even be able to make a living off the content, or at least enough to make it a great side gig.

Contractual Relationship: You can reach out to your influencers and create a contractual relationship to lock them into your game for as long as they possibly can. If a YouTuber with 200,000 subs and a million uniques a month decides to leave your game, other players may also leave as well. Additionally, if that influencer never returns to your game, all of their followers may not return either. 

Financial Support: Similar to a Contractual Relationship, you can also pay them real money, in addition to in-game currency, to gather feedback and create guides/content for you. Often they do this on their own, but a contract is something to consider if there’s an extensive way you want them to collect feedback or produce guides. I’ve seen publishers create contests and reward players with in-game currency to whoever submits a good guide, but those guides usually don’t turn out well. Real money is a huge differentiator. Pick the best people who are willing to do it for in-game currency and then pay them real money.

Furthermore, if somebody is willing to be a dedicated moderator for you and save your community manager and your team hundreds of hours, then you should pay them. Losing that moderator would be a difficult loss since it is hard to find quality people who you can trust. Over-invest in the people who you can trust and those who do great things for your game.

90%-9%-1% Rule

For building a community, I like to explain it with a rule called “90-9-1”. 90% of your players are going to consume content in a drive-by. Meaning, they will skim it very quickly for the most important nuggets. 9% will regularly check-in and lurk. Meaning, they will carefully digest the important content in your communities. 1% will create the content that the other 99% consume. Your micro and macro influencers will produce the content for the whole rest of the game. 

The bigger that your 1% is, the more of your 99% you can support. You want to support all the various influencer types because they’re going to support different parts of your 99%.

Why Players Quit

Players start out engaged and either get bored or frustrated after they run into an issue, causing them to want to quit. The “bored” problem is more difficult to solve because it can be a result of so many different things. It could be that the player is not in your target market, that they didn’t make friends fast enough in-game, that they don’t understand the game, etc. To tackle boredom you need to have some way to hear and see those players before the drop-off points. An official Discord or Superuser-led Discord can be a great way to get eyes and ears on why players are getting bored.  

Solving the frustration problem is relatively easy because the source of the frustration is more clear to the player. If there are channels for them to voice their frustrations beyond filing a CS ticket (because NO ONE likes to do that), then you’ll be able to identify frustrations quickly. Again, an official Discord or Superuser-led Discord can be a great way to get eyes and ears on why players are frustrated.

Frustrations

Buyer’s remorse is a frustration I want to focus on. The number of in-app purchases within a game is increasing for the free-to-play mid-to-hardcore genres. There are just so many options. Players are frustrated when they spend money and then realize that they should have bought something else. Having too many options and no clear way of finding their optimal purchase can cause players to switch to another game where they feel more confident in their purchases.

Re-engagement Events

These are some ways that re-engage players if they get bored. 

  1. An influencer the player likes is still playing. For example, when Shroud goes back to playing Apex Legends, I think that I should go play Apex Legends again. In the case of these YouTubers, I trust them, I follow them, and I’m going to follow them where they’re going next. 
  1. The player stays in touch with the community. In a lot of cases in the communities that we build, we see people that run into various life barriers. They run out of money or time. They have a kid or get married. Thus, they take some time off. Instead of completely quitting the game, many of these players returned after a hiatus because they stayed in touch with the community. This is a great opportunity to have a “Returning Player” Event and Reward feature so when the player has time to come back and play, they’ll be welcomed with new features or items your game has implemented.
  1. The player gets a leadership position. For example, a player was planning on quitting because his friends got bored and left the game. However, a leader in his Guild reached out and offered him a leadership position. Now, the player has a reason to stay and has responsibility in the game. The leader didn’t offer that to him because he was going to leave. It just happened one day. And now even many years later, he still plays the game. 

The player connects to an entertaining community outside the game. I joined a new game recently, but couldn’t find an active alliance in-game. So, the first thing I did was join the Discord and ask around to try to find a leader who’s really engaged and trying to build a strong team. That’s how I really found a place inside of the game. Do not underestimate this! Encourage players to go into Discord to find and connect with players. Finding a dedicated, active alliance makes such a difference to whether or not players want to keep playing. It helps players achieve their goals and fully experience/get invested in the game.

Pitfall #3

The pitfall here is when you don’t have access to enough player perspectives, or the will to listen to them. However, if you have a crew of influencers supporting you with reactive and proactive feedback, then you will be able to quickly identify why players are quitting as well as specific issues that they’re having with your game.

The Key to Player Retention

The key to player retention is nurturing relationships between your players. For example, this is a beautiful picture of one of our team members with her daughter and boyfriend. They met in Game of War six years ago. She’s been working with us for two and a half years, and she knows every whale and every detail in the game. She’s constantly informing the developers about things they never knew were going on behind the scenes.

Pitfall #4

The pitfall is relying too much on your in-game alliance system and chat. Use tools like Discord, Line, and Slack instead. You’re not in the business of making chat tools, you’re in the business of making games, so leverage chat tools where you can. The in-game chat can be relatively busy, filled with player achievement announcements and pings, which can get in the way of relational conversation.  

You want people to connect even when they can’t play the game. Sometimes players want to engage with the game and their team, but can’t be in-game. Or they want to build relationships and share content like links, videos, and pictures. It’s difficult to do that in a game. That’s what those outside chat tools are really great for.

Find and Reward Key Community Members

Find and reward key community members. VIPs are very influential as trendsetters and idols within the community. Whenever there’s a VIP sharing a new strategy or new feature, everyone wants to try what they are doing. Players idolize them and want to be on their team. So, you definitely want to have relationships with your VIPs. You want these people on your “crew”. 

Do not overlook your ninjas. They’re quiet players who don’t talk in the community very often, but they’re always a top-ranked player and they’re great at your game. People notice them and wonder who they are. They’re wicked smart and might even have a totally different playstyle compared to other players. Definitely pay attention to the ninjas and get their input frequently.

Pitfall #5

The pitfall with finding and rewarding influencers is choosing the wrong players to support.

This is tricky when there are toxic people who are really influential or spend a lot of money in your game and you want their feedback. You can’t bundle these guys with other healthier, more positive players in your crew. They’ll just dominate, take over, and ruin the environment. Don’t bring the toxic players on board no matter how much they spend.

Qualities to look for

Here are the qualities that you want to look for in your key community members with the three most important qualities listed below: 

  1. Encouragement: The number one trait is encouragement. If someone is encouraging, it’s an indicator of so many other things. They’re going to be friendly, relational, and helpful if they are encouraging. 
  2. Trustworthiness: The second trait is trustworthiness. You want them to be trusted if you’re going to get proactive feedback or communicate with them. 

Knowledgeable: Then third, knowledgeable. You want them to know more about your game than you do, at least in some areas, or know far more about your community or player base than you do. There’s a quote that says, “The only time you know more about your game than your players is before it launches.” The same is true for your community. The only time you know more about your community is before it launches.

Two Things

The two most important and useful things you can do for your players are nurturing relationships between players and offering them great guides

When I talk to players in our client’s games who have stuck around 1+ years, the number one reason they say they’ve stayed is that they don’t want to leave their friends. Sure to some extent they feel locked into their investment in the game, but when they are entirely fed up with the game and ready to quit, it’s their friends who calm them down and convince them to stay.

As gamers, we want to progress and improve. We want to be better than everyone in the game. We want to learn. We want to stay up to date with the meta and we don’t want to fall behind. Strategy guides solve a lot of these problems. 

Actually, the reason I started writing strategy guides for the first community I built was that my teammates were losing thousands of dollars and quitting Game of War. I taught them how to protect their investment by making the right purchases, setting up their account properly, and working together as a team. As a result, they stayed and played for many subsequent months.

How Transparency and Authenticity Builds Trust

Transparency and authenticity build trust. When your players don’t feel listened to, their natural inclination is to push the limits until they start to get a response. Then players learn that this is the only way to get a response from the developer. 

Do not address all the negative feedback individually, because then you’ll be reinforcing negative behavior. Respond to complaints in a general blog post as an update to the game. Say that you noticed players weren’t happy so you’re making these changes to address that. Be really specific and transparent about your intentions. That will help to prevent a lot of extreme toxicity in your game and in your communities.

Remember these key steps when building trust: 

  1. Admit your mistakes. 
  2. Validate their feelings. 
  3. Show a commitment to change. 

It’s imperative to not disrespect or minimize your player’s feelings.

This is a classic example of a resolution for player frustration by Machine Zone. They would send an in-game mail and address a problem. They acknowledge the problem, apologize, then offer a token of appreciation like extra supplies. That’s the classic way to apologize. This is the bare minimum that you have to do.

A good example of listening and committing to change is this one with the Seven Deadly Sins: Grand Cross. They made a big mistake with an event. They acknowledged that their main focus was to increase player satisfaction, but they failed. They were monitoring forums and social media and realized people were disappointed. They really apologized and made this massive post of all these steps they were going to do to regain people’s trust and not cause disappointment in future updates.

Pitfall #6

Again, don’t minimize your mistakes. It is a detriment to any relationship. Just accept it. It’s okay. People will forgive you if they like your game. Players just want things to be better. I understand that it’s difficult, especially when you need to make a big pivot. However, if you have this group of influencers to help inform your decisions and give you ideas, then I think you can do it successfully.

Read more case studies here and please contact us if you would like to talk about your game. We can increase your revenue up to 30% in 6 months or less!

You May Also Like…

[gravityform id="27" title="false" description="false" ajax="true"]
<script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_unknown gform_wrapper gravity-theme' id='gform_wrapper_27' ><div id='gf_27' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_27' id='gform_27' action='/6-lessons-from-6-years-of-player-first-community-management/#gf_27' > <div class='gform_body gform-body'><div id='gform_fields_27' class='gform_fields left_label form_sublabel_below description_below'><fieldset id="field_27_4" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><legend class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></legend><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_27_4'> <span id='input_27_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_27_4_3' value='' aria-required='true' aria-describedby="gfield_description_27_4"/> <label for='input_27_4_3' >First</label> </span> <span id='input_27_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_27_4_6' value='' aria-required='true' /> <label for='input_27_4_6' >Last</label> </span> </div><div class='gfield_description' id='gfield_description_27_4'>We will never share your information.</div></fieldset><div id="field_27_1" class="gfield gfield--width-full sl-cta-email gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_27_1' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_27_1' type='text' value='' class='large' placeholder='Email' aria-required="true" aria-invalid="false" /> </div></div><fieldset id="field_27_5" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><legend class='gfield_label gfield_label_before_complex' >Consent<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></legend><div class='ginput_container ginput_container_consent'><input name='input_5.1' id='input_27_5_1' type='checkbox' value='1' aria-required="true" aria-invalid="false" /> <label class="gfield_consent_label" for='input_27_5_1' >I agree to receive emails from GamerSpeak</label><span class="gfield_required gfield_required_asterisk">*</span><input type='hidden' name='input_5.2' value='I agree to receive emails from GamerSpeak' class='gform_hidden' /><input type='hidden' name='input_5.3' value='1' class='gform_hidden' /></div></fieldset><div id="field_27_12" class="gfield gfield--width-quarter field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_27_12' >utm_source</label><div class='ginput_container ginput_container_text'><input name='input_12' id='input_27_12' type='text' value='' class='large' aria-invalid="false" /> </div></div><div id="field_27_14" class="gfield gfield--width-quarter field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_27_14' >utm_medium</label><div class='ginput_container ginput_container_text'><input name='input_14' id='input_27_14' type='text' value='' class='large' aria-invalid="false" /> </div></div><div id="field_27_13" class="gfield gfield--width-quarter field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_27_13' >utm_campaign</label><div class='ginput_container ginput_container_text'><input name='input_13' id='input_27_13' type='text' value='' class='large' aria-invalid="false" /> </div></div><div id="field_27_15" class="gfield gfield--width-quarter field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_27_15' >utm_content</label><div class='ginput_container ginput_container_text'><input name='input_15' id='input_27_15' type='text' value='' class='large' aria-invalid="false" /> </div></div><div id="field_27_16" class="gfield gfield--width-full field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_27_16' >utm_term</label><div class='ginput_container ginput_container_text'><input name='input_16' id='input_27_16' type='text' value='' class='large' aria-invalid="false" /> </div></div><div id="field_27_17" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_27_17' >Name</label><div class='ginput_container'><input name='input_17' id='input_27_17' type='text' value='' /></div><div class='gfield_description' id='gfield_description_27_17'>This field is for validation purposes and should be left unchanged.</div></div></div></div> <div class='gform_footer left_label'> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><button type="submit" id="gform_submit_button_27" class="dcgd_submit_button et_pb_contact_submit et_pb_button gform_button button" onclick='if(window["gf_submitting_27"]){return false;} window["gf_submitting_27"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_27"]){return false;} window["gf_submitting_27"]=true; jQuery("#gform_27").trigger("submit",[true]); }' style="margin:auto"></body></html> <span>Get the PDF</span></button> <input type='hidden' name='gform_ajax' value='form_id=27&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_27' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='27' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_27' value='WyJ7XCI1LjFcIjpcImQzOWRlNzkwNzZkNjI3YTAyYWQyMTkyYjcxN2Q2ZTkyXCIsXCI1LjJcIjpcImE5NzA5M2Q0YjJmZTBiOWU4MzRiMmYzMzI0Yjg0OWM3XCIsXCI1LjNcIjpcImQzOWRlNzkwNzZkNjI3YTAyYWQyMTkyYjcxN2Q2ZTkyXCJ9IiwiNDlhNDY4ZTE4OWY4ZGNmNmRhMjAzNzczOWExZjhjN2QiXQ==' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_27' id='gform_target_page_number_27' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_27' id='gform_source_page_number_27' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_27' id='gform_ajax_frame_27' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 27, 'https://www.gamerspeak.io/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_27').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_27');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_27').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_27').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_27').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_27').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_27').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_27').val();gformInitSpinner( 27, 'https://www.gamerspeak.io/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [27, current_page]);window['gf_submitting_27'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_27').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_27').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [27]);window['gf_submitting_27'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_27').text());}, 50);}else{jQuery('#gform_27').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [27, current_page]);} );} ); </script>
[gravityform id="27" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gravity-theme' id='gform_wrapper_27' ><div id='gf_27' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_27' id='gform_27' action='/6-lessons-from-6-years-of-player-first-community-management/#gf_27' > <div class='gform_body gform-body'><div id='gform_fields_27' class='gform_fields left_label form_sublabel_below description_below'><fieldset id="field_27_4" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><legend class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></legend><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_27_4'> <span id='input_27_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_27_4_3' value='' aria-required='true' aria-describedby="gfield_description_27_4"/> <label for='input_27_4_3' >First</label> </span> <span id='input_27_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_27_4_6' value='' aria-required='true' /> <label for='input_27_4_6' >Last</label> </span> </div><div class='gfield_description' id='gfield_description_27_4'>We will never share your information.</div></fieldset><div id="field_27_1" class="gfield gfield--width-full sl-cta-email gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_27_1' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_27_1' type='text' value='' class='large' placeholder='Email' aria-required="true" aria-invalid="false" /> </div></div><fieldset id="field_27_5" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" ><legend class='gfield_label gfield_label_before_complex' >Consent<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></legend><div class='ginput_container ginput_container_consent'><input name='input_5.1' id='input_27_5_1' type='checkbox' value='1' aria-required="true" aria-invalid="false" /> <label class="gfield_consent_label" for='input_27_5_1' >I agree to receive emails from GamerSpeak</label><span class="gfield_required gfield_required_asterisk">*</span><input type='hidden' name='input_5.2' value='I agree to receive emails from GamerSpeak' class='gform_hidden' /><input type='hidden' name='input_5.3' value='1' class='gform_hidden' /></div></fieldset><div id="field_27_12" class="gfield gfield--width-quarter field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_27_12' >utm_source</label><div class='ginput_container ginput_container_text'><input name='input_12' id='input_27_12' type='text' value='' class='large' aria-invalid="false" /> </div></div><div id="field_27_14" class="gfield gfield--width-quarter field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_27_14' >utm_medium</label><div class='ginput_container ginput_container_text'><input name='input_14' id='input_27_14' type='text' value='' class='large' aria-invalid="false" /> </div></div><div id="field_27_13" class="gfield gfield--width-quarter field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_27_13' >utm_campaign</label><div class='ginput_container ginput_container_text'><input name='input_13' id='input_27_13' type='text' value='' class='large' aria-invalid="false" /> </div></div><div id="field_27_15" class="gfield gfield--width-quarter field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_27_15' >utm_content</label><div class='ginput_container ginput_container_text'><input name='input_15' id='input_27_15' type='text' value='' class='large' aria-invalid="false" /> </div></div><div id="field_27_16" class="gfield gfield--width-full field_sublabel_below field_description_below gfield_visibility_hidden" ><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_27_16' >utm_term</label><div class='ginput_container ginput_container_text'><input name='input_16' id='input_27_16' type='text' value='' class='large' aria-invalid="false" /> </div></div><div id="field_27_17" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_27_17' >Email</label><div class='ginput_container'><input name='input_17' id='input_27_17' type='text' value='' /></div><div class='gfield_description' id='gfield_description_27_17'>This field is for validation purposes and should be left unchanged.</div></div></div></div> <div class='gform_footer left_label'> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><button type="submit" id="gform_submit_button_27" class="dcgd_submit_button et_pb_contact_submit et_pb_button gform_button button" onclick='if(window["gf_submitting_27"]){return false;} window["gf_submitting_27"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_27"]){return false;} window["gf_submitting_27"]=true; jQuery("#gform_27").trigger("submit",[true]); }' style="margin:auto"></body></html> <span>Get the PDF</span></button> <input type='hidden' name='gform_ajax' value='form_id=27&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_27' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='27' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_27' value='WyJ7XCI1LjFcIjpcImQzOWRlNzkwNzZkNjI3YTAyYWQyMTkyYjcxN2Q2ZTkyXCIsXCI1LjJcIjpcImE5NzA5M2Q0YjJmZTBiOWU4MzRiMmYzMzI0Yjg0OWM3XCIsXCI1LjNcIjpcImQzOWRlNzkwNzZkNjI3YTAyYWQyMTkyYjcxN2Q2ZTkyXCJ9IiwiNDlhNDY4ZTE4OWY4ZGNmNmRhMjAzNzczOWExZjhjN2QiXQ==' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_27' id='gform_target_page_number_27' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_27' id='gform_source_page_number_27' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_27' id='gform_ajax_frame_27' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 27, 'https://www.gamerspeak.io/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_27').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_27');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_27').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_27').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_27').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_27').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_27').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_27').val();gformInitSpinner( 27, 'https://www.gamerspeak.io/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [27, current_page]);window['gf_submitting_27'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_27').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_27').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [27]);window['gf_submitting_27'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_27').text());}, 50);}else{jQuery('#gform_27').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [27, current_page]);} );} ); </script>