Many of us still rely on traditional content types to drive our content marketing and thought leadership. It’s time for that to change: Your company podcast contains all the content you need in easy-to-repurpose conversations. Here’s the why and how-to. Read the full article at MarketingProfs
Reblogged 4 days ago from www.marketingprofs.comLosing the occasional customer is an inevitable reality–but it doesn’t have to be the end. The right targeted content techniques can both win back people who stopped using your service and ensure they never stray again. Just follow these five steps. Read the full article at MarketingProfs
Reblogged 4 days ago from www.marketingprofs.comMarketers have found that conversational experiences on landing pages (such as chatbots and live chat) convert three-to-four times more than a traditional landing page. Additionally, a report from Juniper Research predicts that by 2023, the adoption of chatbots across the retail, banking, and healthcare sectors will save businesses $11 billion annually.
So, what do these conversational experiences entail and how should chatbots be incorporated on your landing pages to increase conversions while saving your team time and resources?
In this blog post, we’ll talk about what conversational landing pages are, what makes them unique, and how to create one of your own.
Let’s dive in.
Automate and scale conversations on your website with HubSpot’s Chatbot Builder Software.
A conversational landing page may also answer visitor inquiries, resolve challenges, share specific offers, and guide customers to whatever it is they need via chatbot or live chat.
If your landing page only includes a chatbot for visitors to interact with, you may customize the bot so it can detect complex issues that require the support of a human — then, the bot can direct visitors to live chat.
In addition to conversational landing pages, there are two other main types of landing pages that are used to engage visitors: traditional landing pages and hybrid landing pages.
A conversational landing page looks something like this, with the chatbot conversation filling up the entire screen for the visitor:
A traditional landing page is one that engages visitors with a traditional lead generation form. The lead generation form is placed among other content on the landing page. It asks for information from visitors (e.g. name, email address, zip code) in exchange for something (e.g. discount code, subscription, or trial).
A hybrid landing page combines features from both a conversational and a traditional landing page — it’s essentially a traditional landing page with a chatbot (which can be expanded or be minimized) embedded on the page.
Now that you’ve seen these other two types of landing pages, you may be wondering, “Why should the chatbot/ live chat conversation be the only thing on a conversational web page?”
Fair question.
By making a contextual, chatbot conversation the only thing on a web page, you establish a personal, one-on-one feel that traditional and hybrid landing pages don’t provide. This allows you to more easily promote new offers, close more deals, and increase conversion rates.
When creating a conversational landing page, you’ll work through many of the same steps — or, at the very least, similar steps — to those you’d follow when creating any other landing page.
The main goal of your conversational landing page is to engage visitors. But that doesn’t mean you can’t also set more specific targets for engagement if you’d like to — this is a good way to establish a single focus for your page in order to make it as effective as possible.
Here are some examples of conversational landing page goals:
Your chatbot should cater to your specific audience. With a chatbot builder — like HubSpot — you can customize your chatbot and use it to qualify leads, book meetings, and create responses to FAQs. You can also configure your chatbot so that it guides an individual with a more complex reason for reaching out to live chat/ a rep. The bot can also create support tickets and add contact data to your lists and workflows to automate tasks and save your team time.
The point of your conversational landing page is to engage and interact with your visitors as well as support their needs, challenges, and goals. It’d be very difficult to do this if your landing page was cluttered, unclear, hard to understand, or difficult to navigate.
So, when working to determine what text you’ll include on your conversational landing page, remember less is more — meaning, your chatbot and any other text on your page should be concise, conversational, and straightforward. This will allow your visitors to have efficient and simple interactions with your brand.
Your landing page should be on-brand, thoughtfully-designed, and beautiful — this will contribute to a positive experience on your page for visitors. This step is also when you should ensure your conversational landing page opens in a new tab (this is how the chat will fill up the entire screen).
A landing page tool like HubSpot, which has a drag-and-drop builder and pre-made templates, makes the process of designing a landing page simple, even if you don’t have any website or coding knowledge.
Here are some other landing page elements to consider when designing a memorable page:
The point of your conversational landing page is to engage visitors in a way that’s beneficial to them (and your business). To ensure your chatbot resolves customer queries and guides users to the solutions they need, customize your bot’s messaging, purpose, and goal.
HubSpot’s Chatbot Builder makes this easy — the builder allows you to select a bot template based on your goal and use the visual editor to customize the bot so it complements that goal and your brand. Customize the bot’s copy and the types of questions it asks visitors. If your conversational landing page doesn’t include live chat on it, then you may configure the bot at this time so it directs visitors with complex issues to your live chat.
Additionally, personalize bot conversations with the help of your all-in-one HubSpot CRM — the chatbot will pull contact record information from your CRM to create a personalized experience for customers on your conversational landing page. Then, after any conversation with a visitor, their contact record will be updated again with any new details.
What good is a landing page without any visitors on it?
To make sure your audience and customers know about your conversational landing page, promote it — share links to it on your social media profiles, add a CTA to your main landing page that guides visitors who want to interact with a chatbot to the landing page, and add a link to it on your website’s “Contact” page. This will increase engagement, encourage customers to interact with you, and efficiently and effectively provide the support your visitors are looking for — all while saving you time.
It’s also a great way to proactively inform your customers and site visitors of where and how they can interact with you and get support.
To ensure your conversational landing page is as effective as possible, test different variations of the page to see what works best for your site visitors and increases conversions.
To do this, A/B (or split) test variations of your page (and chatbot) — swap out and test colors, font, messaging, and CTA buttons to determine which combination does the best job of attracting, engaging, converting, and delighting customers.
Begin converting more visitors and delighting customers today with an engaging and memorable conversational landing page.
Blockchain technology has been on the rise in the past ten years, and has brought a good number of products and platforms to life such as Chainalysis (finance tech), Burstiq (health-tech), Filament (IoT), Opus (music streaming) and Ocular (cybersecurity).
From these examples, we can see that blockchain cuts across many products and use cases — making it very essential and useful. In fintech (finance tech), it’s used as decentralized ledgers for security and transparency in places like Chain, Chainalysis, and is also useful in health tech for the security of sensitive health data in Burstiq and Robomed — not to forget media tech such as Opus and Audius that also use blockchain for royalties transparency and thus get full royalties.
Ocular uses security that comes with blockchain for identity management for biometric systems, while Filament uses blockchain ledgers for real-time encrypted communication. This goes to show how essential blockchain has become to us by making our lives better. But what exactly is a blockchain?
A blockchain is a database that is shared across a network of computers. Once a record has been added to the chain, it is quite difficult to change. To ensure that all the copies of the database are the same, the network makes constant checks.
So why do we need blockchain? Blockchain is a safe way to record activities and keep data fresh while maintaining a record of its history compared to the traditional records or databases where hacks, errors, and downtimes are very possible. The data can’t be corrupted by anyone or accidentally deleted, and you benefit from both a historical trail of data and an instantly up-to-date record that can’t be erased or become inaccessible due to downtime of a server.
Because the whole blockchain is duplicated across many computers, any user can view the entire blockchain. Transactions or records are processed not by one central administrator, but by a network of users who work to verify the data and achieve a consensus.
Applications that use blockchain are called dApps (Decentralised Applications). Looking around today, we’ll mostly find decentralized apps in fintech, but blockchain goes beyond decentralized finance. We have health platforms, music streaming/sharing platforms, e-commerce platforms, cybersecurity platforms, and IOTs moving towards decentralized applications (dApps) as cited above.
So, when would it make sense to consider using blockchain for our applications, rather than a standard database or record?
Now, we have seen quite a number of the advantages of using blockchain, but when should we not bother using a blockchain at all?
Blockchain is still evolving and maturing all the time so don’t be surprised if these cons mentioned today become transformed to a pro later on. Bitcoin which is a cryptocurrency is one popular example of a blockchain, a popular blockchain that has been on the rise aside from bitcoin cryptocurrency is Ethereum blockchain. Bitcoin focuses on cryptocurrencies while Ethereum focuses more on smart contracts which have been the major driving force for the new tech platforms.
Recommended reading: Bitcoin vs. Ethereum: What’s the Difference?
With a solid understanding of blockchain, now let’s look at how to build an Ethereum blockchain and integrate it into a standard API in Node.js. The ultimate goal is to get a good understanding of how dApps and Blockchain platforms are being built.
Most dApps have similar architecture and structure. Basically, we have a user that interacts with the dApp frontend — either web or mobile — which then interacts with the backend APIs. The backend, then, on request interacts with the smart contract(s) or blockchain through public nodes; these either run Node.js applications or the backend uses blockchain by directly running the Node.js software. There are still so many things in between these processes from choosing to build a fully decentralized application or semi-decentralized application to choosing what should be decentralized and how to safely store private keys.
Recommended reading: Decentralized Applications Architecture: Back End, Security and Design Patterns
For this tutorial, we’re going to try to build the backend of a decentralized music store app that uses the power of Ethereum blockchain for storing music and sharing it for downloads or streaming.
The basic structure of the application we’re trying to build has three parts:
We will be building this with Node.js, but you can also build with Python or any other programming language. We’ll also see how to store media data in IPFS, get the address and write functions to store this address in — and retrieve this address from a blockchain with the Solidity programming language.
Here are some tools that we should have at our disposal for building or working with Ethereum and Node.js.
So first we have to create a backend to be used, and we’re using Node.js. When we want to create a new Node.js API, the first thing we’re going to do is initialize an npm package. As you probably know, npm stands for Node Package Manager, and it comes prepackaged with the Node.js binary. So we create a new folder and call it “blockchain-music”. We open the terminal in that folder directory, and then run the following command:
$ npm init -y && touch server.js routes.js
This starts up the project with a package.json file and answers yes to all prompts. Then we also create a server.js file and a routes.js file for writing the routes
functions in the API.
After all these, you will have to install packages that we need to make our build easy and straightforward. This process is a continuous one, i.e. you can install a package any time during the development of your project.
Let’s install the most important ones we need right now:
You’ll also have to install Truffle.js globally, so you can use it everywhere in your local environment. If you want to install all of them at once, run the following code in your Terminal:
$ npm install nodemon truffle-contract dotenv mongodb shortid express web3 --save && npm install truffle -g
The --save
flag is to save the package’s name in the package.json file. The -g
flag is to store this particular package globally, so that we can use it in any project we are going to work on.
We then create an .env file where we can store our MongoDB database secret URI for use. We do so by running touch.env in the Terminal. If you don’t have a database account with MongoDB yet, start with the MongoDB page first.
The dotenv package exports our stored variable to the Node.js process environment. Please make sure that you don’t push the .env file when pushing to public repositories to avoid leaking your passwords and private data.
Next, we have to add scripts for build and development phases of our project in our package.json file. Currently our package.json looks like this:
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"socket.io": "^2.3.0",
"truffle-contract": "^4.0.31",
"web3": "^1.3.0"
}
}
We’re then going to add a start script to the package.json file to use the nodemon server so that whenever we make change it restarts the server itself, and a build script that uses the node server directly, it could look like this:
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon server.js",
"build": "node server.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"socket.io": "^2.3.0",
"truffle-contract": "^4.0.31",
"web3": "^1.3.0"
}
}
Next, we have to initialize Truffle for use in our smart contract by using the Truffle package we installed globally earlier. In the same folder of our projects, we run the following command below in our terminal:
$ truffle init
Then we can start writing our code in our server.js file. Again, we’re trying to build a simple decentralized music store app, where customers can upload music for every other user to access and listen to.
Our server.js should be clean for easy coupling and decoupling of components, so routes and other functionalities will be put in other files like the routes.js. Our example server.js could be:
require('dotenv').config();
const express= require('express')
const app =express()
const routes = require('./routes')
const Web3 = require('web3');
const mongodb = require('mongodb').MongoClient
const contract = require('truffle-contract');
app.use(express.json())
mongodb.connect(process.env.DB,{ useUnifiedTopology: true },(err,client)=>{
const db =client.db('Cluster0')
//home
routes(app,db)
app.listen(process.env.PORT || 8082, () => {
console.log('listening on port 8082');
})
})
Basically, above we import the libraries that we need with require
, then add a middleware that allows the use of JSON in our API using app.use
, then connect to our MongoDB database and get the database access, and then we specify which database cluster we’re trying to access (for this tutorial it is “Cluster0”). After this, we call the function and import it from the routes file. Finally, we listen for any attempted connections on port 8082
.
This server.js file is just a barebone to get the application started. Notice that we imported routes.js. This file will hold the route endpoints for our API. We also imported the packages we needed to use in the server.js file and initialized them.
We’re going to create five endpoints for user consumption:
POST /register
Requirements: email
POST /login
Requirements: email
POST /upload
Requirements: name, title of music, music file buffer or URL stored
GET /access/{email}/{id}
Requirements: email, id
GET /access/{email}
Requirements: email
Then we write our route functions in our routes.js file. We utilize the database storage and retrieval features, and then make sure we export the route function at the end of the file to make it possible to be imported in another file or folder.
const shortid = require('short-id')
function routes(app, db){
app.post('/register', (req,res)=>{
let email = req.body.email
let idd = shortid.generate()
if(email){
db.findOne({email}, (err, doc)=>{
if(doc){
res.status(400).json({"status":"Failed", "reason":"Already registered"})
}else{
db.insertOne({email})
res.json({"status":"success","id":idd})
}
})
}else{
res.status(400).json({"status":"Failed", "reason":"wrong input"})
}
})
app.post('/login', (req,res)=>{
let email = req.body.email
if(email){
db.findOne({email}, (err, doc)=>{
if(doc){
res.json({"status":"success","id":doc.id})
}else{
res.status(400).json({"status":"Failed", "reason":"Not recognised"})
}
})
}else{
res.status(400).json({"status":"Failed", "reason":"wrong input"})
}
})
app.post('/upload', (req,res)=>{
let buffer = req.body.buffer
let name = req.body.name
let title = req.body.title
if(buffer && title){
}else{
res.status(400).json({"status":"Failed", "reason":"wrong input"})
}
})
app.get('/access/:email/:id', (req,res)=>{
if(req.params.id && req.params.email){
}else{
res.status(400).json({"status":"Failed", "reason":"wrong input"})
}
})
}
module.exports = routes
Inside this route
function, we have many other functions called within both the app
and db
parameters. These are the API endpoint functions that enable users to specify an endpoint in the URL. Ultimately we choose one of these functions to be executed and provide results as response to incoming requests.
We have four major endpoint functions:
get
: for reading record operationspost
: for creating record operationsput
: for updating record operationsdelete
: for deleting record operationsIn this routes
function, we used the get
and post
operations. We use post
for registration, login, and upload operations, and get
for accessing the data operations. For a little bit more explanation on that, you can check out Jamie Corkhill’s article on “How To Get Started With Node: An Introduction To APIs, HTTP And ES6+ JavaScript”.
In the code above, we can also see some database operations like in the register route. We stored the email of a new user with db.createa
and checked for the email in the login function with db.findOne
. Now, before we can do all of it, we need to name a collection or table with the db.collection
method. That’s exactly what we’ll be covering next.
Note: To learn more about the database operations in MongoDB, check the mongo Shell Methods documentation.
Now we’re going to write a Blockchain contract in Solidity (that’s the language that smart contracts are written in) to simply store our data and retrieve it when we need it. The data we want to store is the music file data, meaning that we have to upload the music to IPFS, then store the address of the buffer in a blockchain.
First, we create a new file in the contract folder and name it Inbox.sol. To write a smart contract, it’s useful to have a good understanding of Solidity, but it’s not difficult as it’s similar to JavaScript.
Note: If you’re interested in learning more about Solidity, I’ve added a few resources at the bottom of the article to get you started.
pragma solidity ^0.5.0;
contract Inbox{
//Structure
mapping (string=>string) public ipfsInbox;
//Events
event ipfsSent(string _ipfsHash, string _address);
event inboxResponse(string response);
//Modifiers
modifier notFull (string memory _string) {
bytes memory stringTest = bytes(_string);
require(stringTest.length==0);
_;
}
// An empty constructor that creates an instance of the conteact
constructor() public{}
//takes in receiver's address and IPFS hash. Places the IPFSadress in the receiver's inbox
function sendIPFS(string memory _address, string memory _ipfsHash) notFull(ipfsInbox[_address]) public{
ipfsInbox[_address] = _ipfsHash;
emit ipfsSent(_ipfsHash, _address);
}
//retrieves hash
function getHash(string memory _address) public view returns(string memory) {
string memory ipfs_hash=ipfsInbox[_address];
//emit inboxResponse(ipfs_hash);
return ipfs_hash;
}
}
In our contract, we have two main functions: the sendIPFS
and the getHash
functions. Before we talk about the functions, we can see that we had to define a contract first called Inbox
. Inside this class, we have structures used in the ipfsInbox
object (first events, then modifiers).
After defining the structures and events, we have to initialize the contract by calling the constructor
function. Then we defined three functions. (The checkInbox
function was used in the test for testing results.)
The sendIPFS
is where the user inputs the identifier and hash address after which it is stored on the blockchain. The getHash
function retrieves the hash address when it is given the identifier. Again, the logic behind this is that we ultimately want to store the music in IPFS. To test how it works, you can hop on to a Remix IDE, copy, paste, and test your contract, as well as debug any errors and run again (hopefully it won’t be needed!).
After testing that our code works correctly in the remix, let’s move on to compiling it locally with the Truffle suite. But first, we need to make some changes to our files and set up our emulator using ganache-cli
:
First, let’s install ganache-cli
. In the same directory, run the following command in your terminal:
$ npm install ganache-cli -g
Then let’s open another Terminal and run another command in the same folder:
$ ganache-cli
This starts up the emulator for our blockchain contract to connect and work. Minimize the Terminal and continue with the other Terminal you’ve been using.
Now go to the truffle.js file if you’re using a Linux/Mac OS or truffle-config.js in Windows, and modify this file to look like this:
const path = require("path");
module.exports = {
// to customize your Truffle configuration!
contracts_build_directory: path.join(__dirname, "/build"),
networks: {
development: {
host: "127.0.0.1",
port: 8545,
network_id: "*" //Match any network id
}
}
};
Basically what we did is adding the path of the build folder where the smart contract is converted to JSON files. Then we also specified the network that Truffle should use for migration.
Then, also in the migrations folder, create a new file named 2_migrate_inbox.js and add the following code inside the files:
var IPFSInbox = artifacts.require("./Inbox.sol");
module.exports = function(deployer) {
deployer.deploy(IPFSInbox);
};
We did so to get the contract file and deploy it automatically to a JSON, using the deployer
function during the Truffle migration.
After the above changes we run:
$ truffle compile
We should see some messages at the end which show successful compilation, such as:
> Compiled successfully using:
- solc: 0.5.16+commit.9c3226ce.Emscripten.clang
Next, we migrate our contract by running:
$ truffle migrate
Once we have successfully migrated our contracts, we should have something like this at the end:
Summary
=======
> Total deployments: 1
> Final cost: 0.00973432 ETH
And we’re almost done! We have built our API with Node.js, and also set up and built our smart contract.
We should also write tests for our contract to test the behaviour of our contract and ensure it is the desired behaviour. The tests are usually written and placed in the test
folder. An example test written in a file named InboxTest.js created in the test folder is:
const IPFSInbox = artifacts.require("./Inbox.sol")
contract("IPFSInbox", accounts =>{
it("emit event when you send a ipfs address", async()=>{
//ait for the contract
const ipfsInbox = await IPFSInbox.deployed()
//set a variable to false and get event listener
eventEmitted = false
//var event = ()
await ipfsInbox.ipfsSent((err,res)=>{
eventEmitted=true
})
//call the contract function which sends the ipfs address
await ipfsInbox.sendIPFS(accounts[1], "sampleAddress", {from: accounts[0]})
assert.equal(eventEmitted, true, "sending an IPFS request does not emit an event")
})
})
So we run our test by running the following:
$ truffle test
It tests our contract with the files in the test folder and shows the number of passed and failed tests. For this tutorial, we should get:
$ truffle test
Using network 'development'.
Compiling your contracts...
===========================
> Compiling .\contracts\Inbox.sol
> Artifacts written to C:\Users\Ademola\AppData\Local\Temp\test--2508-n0vZ513BXz4N
> Compiled successfully using:
— solc: 0.5.16+commit.9c3226ce.Emscripten.clang
Contract: IPFSInbox
√ emit event when you send an ipfs address (373ms)
1 passing (612ms)
Most times when you see tutorials, you see decentralized apps built to integrate the frontend directly to the blockchain. But there are times when the integration to the backend is needed as well, for example when using third-party backend APIs and services, or when using blockchain to build a CMS.
The use of Web3 is very important to this cause, as it helps us access remote or local Ethereum nodes and use them in our applications. Before we go on, we’ll discuss the local and remote Ethereum nodes. The local nodes are the nodes deployed on our system with emulators like ganache-cli
but a remote node is one that is deployed on online faucets/platforms like ropsten or rinkeby. To dive in deeper, you can follow a tutorial on how to deploy on ropsten 5-minute guide to deploying smart contracts with Truffle and Ropsten or you could use truffle wallet provider and deploy via An Easier Way to Deploy Your Smart Contracts.
We are using ganache-cli
in this tutorial, but if we were deploying on ropsten, we should have copied or stored our contract address somewhere like in our .env file, then move on to update the server.js file, import web3, import the migrated contract and set up a Web3 instance.
require('dotenv').config();
const express= require('express')
const app =express()
const routes = require('./routes')
const Web3 = require('web3');
const mongodb = require('mongodb').MongoClient
const contract = require('truffle-contract');
const artifacts = require('./build/Inbox.json');
app.use(express.json())
if (typeof web3 !== 'undefined') {
var web3 = new Web3(web3.currentProvider)
} else {
var web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'))
}
const LMS = contract(artifacts)
LMS.setProvider(web3.currentProvider)
mongodb.connect(process.env.DB,{ useUnifiedTopology: true }, async(err,client)=>{
const db =client.db('Cluster0')
const accounts = await web3.eth.getAccounts();
const lms = await LMS.deployed();
//const lms = LMS.at(contract_address) for remote nodes deployed on ropsten or rinkeby
routes(app,db, lms, accounts)
app.listen(process.env.PORT || 8082, () => {
console.log('listening on port '+ (process.env.PORT || 8082));
})
})
In the server.js file, we check if the web3 instance is initialized already. If not, we initialize it on the network port which we defined earlier (8545
). Then we build a contract based on the migrated JSON file and truffle-contract
package, and set the contract provider to the Web3 instance provider which must have been initialized by now.
We then get accounts by web3.eth.getAccounts
. For the development stage, we call the deployed function in our contract class that asks ganache-cli
— which is still running — to give us a contract address to use. But if we’ve already deployed our contract to a remote node, we call a function inputting the address as an argument. The sample function is commented below the defined lms
variable in our code above. Then we call the routes
function inputting the app instance, database instance, contract instance (lms
), and accounts data as arguments. Finally, we listen for requests on port 8082
.
Also, by now, we should have installed the MongoDB package, because we are using it in our API as our database. Once we have that, we move onto the routes page where we use the methods defined in the contract to accomplish tasks like saving and retrieving the music data.
In the end, our routes.js should look like this:
const shortid = require('short-id')
const IPFS =require('ipfs-api');
const ipfs = IPFS({ host: 'ipfs.infura.io',
port: 5001,protocol: 'https' });
function routes(app, dbe, lms, accounts){
let db= dbe.collection('music-users')
let music = dbe.collection('music-store')
app.post('/register', (req,res)=>{
let email = req.body.email
let idd = shortid.generate()
if(email){
db.findOne({email}, (err, doc)=>{
if(doc){
res.status(400).json({"status":"Failed", "reason":"Already registered"})
}else{
db.insertOne({email})
res.json({"status":"success","id":idd})
}
})
}else{
res.status(400).json({"status":"Failed", "reason":"wrong input"})
}
})
app.post('/login', (req,res)=>{
let email = req.body.email
if(email){
db.findOne({email}, (err, doc)=>{
if(doc){
res.json({"status":"success","id":doc.id})
}else{
res.status(400).json({"status":"Failed", "reason":"Not recognised"})
}
})
}else{
res.status(400).json({"status":"Failed", "reason":"wrong input"})
}
})
app.post('/upload', async (req,res)=>{
let buffer = req.body.buffer
let name = req.body.name
let title = req.body.title
let id = shortid.generate() + shortid.generate()
if(buffer && title){
let ipfsHash = await ipfs.add(buffer)
let hash = ipfsHash[0].hash
lms.sendIPFS(id, hash, {from: accounts[0]})
.then((_hash, _address)=>{
music.insertOne({id,hash, title,name})
res.json({"status":"success", id})
})
.catch(err=>{
res.status(500).json({"status":"Failed", "reason":"Upload error occured"})
})
}else{
res.status(400).json({"status":"Failed", "reason":"wrong input"})
}
})
app.get('/access/:email', (req,res)=>{
if(req.params.email){
db.findOne({email: req.body.email}, (err,doc)=>{
if(doc){
let data = music.find().toArray()
res.json({"status":"success", data})
}
})
}else{
res.status(400).json({"status":"Failed", "reason":"wrong input"})
}
})
app.get('/access/:email/:id', (req,res)=>{
let id = req.params.id
if(req.params.id && req.params.email){
db.findOne({email:req.body.email},(err,doc)=>{
if(doc){
lms.getHash(id, {from: accounts[0]})
.then(async(hash)=>{
let data = await ipfs.files.get(hash)
res.json({"status":"success", data: data.content})
})
}else{
res.status(400).json({"status":"Failed", "reason":"wrong input"})
}
})
}else{
res.status(400).json({"status":"Failed", "reason":"wrong input"})
}
})
}
module.exports = routes
At the beginning of the routes file, we imported the short-id
package and ipfs-http-client
and then initialized IPFS with the HTTP client using the backend URL ipfs.infura.io
and port 5001
. This allowed us to use the IPFS methods to upload and retrieve data from IPFS (check out more here).
In the upload route, we save the audio buffer to IPFS which is better compared to just storing it on the blockchain for anyone registered or unregistered to use. Then we saved the address of the buffer in the blockchain by generating an ID and using it as an identifier in the sendIFPS
function. Finally, then we save all the other data associated with the music file to our database. We should not forget to update our argument in the routes function since we changed it in the server.js file.
In the access route using id
, we then retrieve our data by getting the id
from the request, using the id
to access the IPFS hash address, and then access the audio buffer using the address. But this requires authentication of a user by email which is done before anything else.
Phew, we’re done! Right now we have an API that can receive requests from users, access a database, and communicate to a node that has the software running on them. We shouldn’t forget that we have to export our function with module.exports
though!
As we have noticed, our app is a decentralized app. However, it’s not fully decentralized as we only stored our address data on the blockchain and every other piece of data was stored securely in a centralized database which is the basis for semi-dApps. So the consumption of data can be done directly via request or using a frontend application in JavaScript to send fetch requests.
Our music store backend app can now safely store music data and provide access to anyone who needs to access it, provided it is a registered user. Using blockchain for music sharing makes it cheaper to store music data while focusing on connecting artists directly with users, and perhaps it could help them generate revenue that way. This wouldn’t require a middleman that uses royalty; instead, all of the revenue would go to the artist as users request their music to either download or stream. A good example of a music streaming application that uses blockchain just like this is Opus OPUS: Decentralized music sharing platform. However, there are also a few others like Musicoin, Audius, and Resonate.
The final thing after coding is to start our server by running npm run start
or npm run build
and test our backend endpoints on either the browser or with Postman. After running and testing our API we could add more features to our backend and blockchain smart contract. If you’d like to get more guidance on that, please check the further reading section for more articles.
It’s worth mentioning that it is critical to write unit and integration tests for our API to ensure correct and desirable behaviors. Once we have all of that done, we can deploy our application on the cloud for public use. This can be done on its own with or without adding a frontend (microservices) on Heroku, GCP, or AWS for public use. Happy coding!
Note: You can always check my repo for reference. Also, please note that the .env file containing the MongoDB database URI is included for security reasons.
If we can all agree on one thing, it’s that 2020 was a rollercoaster of a year. Through all the ups and downs, brands wrestled with how they could—and should—pivot their marketing strategies to stay connected with their customers. What emerged for many was a new appreciation for the power of social media. Social data helps marketers stay on top of cultural trends and gain a deeper understanding of their audiences. Social listening provides real-time insights into consumers’ feelings, wants and needs in a way that no other marketing platform does. And in these “unprecedented times,” these customer insights are critical not only for marketing, but for business strategy across the organization.
As we head into 2021 and prepare for even more change, it’s time for brands to reexamine how they’re leveraging social data to better understand and drive deeper connections with their audience. Here at Sprout Social, that’s exactly what we help our customers do. The Sprout platform provides powerful data along with the flexible tools and intuitive user experience that make it easy to pull actionable insights that drive your business forward.
In this article, we’ll highlight ways you can leverage Sprout’s platform, including newly released features, to make the most out of your social data. With a clear understanding of the data, you will be able to optimize your marketing strategy and connect with your audience—no matter what’s going on in the world.
Social is the cornerstone of today’s brand-consumer relationship, and it’s often the first place people turn to find information, ask questions and share their thoughts and feedback. Measuring brand health on social has therefore become an increasingly important task for social media marketers—one with implications and opportunities across the marketing organization. Understanding brand health on social helps you understand:
A complete understanding of your brand health can’t be gained in a silo. You also need to benchmark your performance against your top competitors to see where you stack up.
Your owned content (that is, the content you publish on your brand’s social profiles) is the first thing you’ll want to benchmark. Sprout’s Competitor Reports, available in Professional and Advanced plans, give you in-depth data around your competitors’ content performance within major social platforms, including Twitter, Facebook, and Instagram. This gives you a better sense of how your competitor’s social content is resonating with your shared audience and how strongly they’re performing on individual platforms.
Next, you’ll want to assess the performance of earned content, which refers to organic mentions of your brand in broader social conversations. This is where social listening comes into play. Our Competitive Analysis Topic Template, released for Sprout Listening early last year, enables you to compare share-of-voice data, which is one of the most powerful social metrics to gauge your brand’s competitive position and industry relevance. You can also analyze sentiment scores and trends to see how your audience feels about your competitors (and relevant topics) compared to your own brand.
Compiling this benchmarking data will give you more meaningful context for your brand health and social content performance, and spark ideas for where you can improve to build better connections with your audience.
With so much noise on social media these days, consumers are becoming more discerning about which brands they follow (and unfollow). Your content strategy plays a huge role in this. In fact, consumers report that irrelevant content is one of the biggest reasons they choose to unfollow brands.
This is important not only for your social strategy but for business success on the whole, as your social following can have a significant impact on your bottom line. According to our 2020 Sprout Social Index™ report, 89% of consumers say they will buy from a brand they follow on social, and 75% of consumers will increase their spending with a brand they follow on social—a 12% year over year increase from 2019.
Sprout’s Analytics solution makes it easy to understand your content performance so you can create the right content for your audience. Tagging your content in Sprout is one of the simplest ways to organize your social media content into different categories for easy tracking and analysis. For example, you could use Tags to categorize your content related to an upcoming conference event, campaign or a new product launch. You can then analyze the Tag Report, available for Professional and Advanced plans, to see which content topic and categories are resonating and which are not. Stay tuned for exciting updates coming for the Tag Report in early 2021.
Analyzing content types is also important, as consumers’ tastes differ across each social network. One of the biggest trends of the past couple of years is the rising consumer preference for visual content on social, including both images and video. Sprout recently launched our new YouTube Videos report, available for all plans, which allows you to track key performance indicators (KPIs) for your video and channel performance so you can better understand what resonates with your audience and adjust your content accordingly.
If there’s one thing social marketers learned in 2020, it was the importance of staying on top of trending conversations on social and pivoting (or pausing) your content accordingly. While the chaos of 2020 is hopefully a thing of the past, the value of using social data to stay connected with the wants, needs and interests of your audience will only continue to grow.
This is where social listening comes into play. Listening offers a comprehensive understanding of the larger conversations happening around your brand, industry and competitors. It also shows which topics resonate with your audience. Here are a few key ways you can use Sprout’s Listening solution to gather important audience insights that will help you stay connected no matter what’s going on in the world:
With Sprout’s unified analytics solution, you can easily compare and contrast your owned content performance data in Reporting against larger conversation trends in Listening to understand the “why” behind your social performance.
Our conversation analysis tools, such as sentiment rating and the word cloud, make it easy to quickly spot conversation trends and understand how your audience feels about specific topics. You can also leverage the demographic data for a deeper understanding of your audience and the topics that resonate with them.
Our intuitive Listening dashboard makes it easy for anyone to track high-level conversation trends, while also providing the flexibility for more advanced data enthusiasts to find more detailed information and answer specific questions. The consumer insights gleaned through listening data can provide significant value for many other teams across your organization, including product development, sales and customer support.
Another less common but equally important use of social listening data is knowing when your brand should be silent. Strategic social silence is often the best course of action during periods of extreme crisis or social unrest. During such events, brands should pause social content not directly related to the current events or containing critical information. Using listening, you can track the progress of the conversation activity and monitor audience sentiment to determine when it’s appropriate to resume posting your marketing content.
While social data is incredibly valuable, the sheer volume of data at our disposal can seem overwhelming. The truth is that social data is only valuable when you can actually harness it to identify meaningful insights. That’s why Sprout has invested in building tools that help you customize the data you see for your unique business goals and objectives.
Social listening is a prime example of this concept. It takes some upfront investment to create and hone strong Listening topics, but this investment significantly improves the value of the data by making it much easier to pull personalized and actionable insights. Here are a few recent feature updates that will make it much easier for you to customize your listening data:
Topic Templates help you create Listening Topics geared towards specific business insights goals, including brand health, competitive analysis, industry insights, campaign analysis and event monitoring.
For even more customization, you can create Themes within your Topics. These are essentially subcategories that allow you to focus your data on the key themes that matter for your business, such as business segments, product lines and influencers.
Sentiment analysis is a really critical tool to help you stay aligned with your customers. However, measuring it can be a nuanced task that requires your brand’s unique context and perspective. That’s why we’ve released new tools to help you customize your analysis, including Sentiment Reclassification and Sentiment Rulesets, so you can get the most accurate understanding of how your audience really feels.
Customizing your reporting data for your owned content is also extremely powerful in helping to make insights much easier to gather. Premium Analytics users can use the Report Builder to create Custom Reports, where you can choose to include or exclude metrics depending on the KPIs that matter for your business.
We also recently released a new Analytics API, available for Premium Analytics customers, which allows users to integrate their owned social data with their internal tools, reporting tools and data warehouses outside of Sprout. If you’re interested in learning more about the API and what it can do for your business, please reach out to your Sprout rep.
Social data is arguably the most powerful source of business insights that has ever existed. The data and insights available through social media can—and should—change an entire business by giving business leaders the cultural context they need to truly understand what their customers want. From product development to customer support, the social data in Sprout can answer a brand’s most important questions about how to manage, expand and grow their business across every department.
While there’s great value potential here, many marketers today aren’t consistently sharing their data with stakeholders. Reports show that only 31% of social media managers report their results to managers and other team members and only 33% use social data to support other departments within their organization.
Sprout makes it easy to share this data with our presentation-ready reports, which you can download as PDFs or send directly from the platform in a few quick clicks. For frequent collaborators, you can also set up a Scheduled PDF Delivery to automatically deliver reports to stakeholders on a weekly or monthly basis.
Our upcoming Report Link Sharing feature for Premium Analytics makes it even easier to share reports with external stakeholders by enabling you to create a shareable link. With this link, your stakeholders can access a browser-version of your report that updates in real-time. You can choose specific date ranges as well as “dynamic date ranges” (ie. last 7 days), which essentially provides your collaborators with an evergreen slice of your Sprout data. This feature, which will be available for 11 reports including the Custom Report, is currently in beta and will be launching soon—stay tuned!
The value potential of social data is clear. The only question is whether you’re taking the right steps to harness the data and capture that value. Head to our Learning Portal to learn more about how you can leverage your social data to make a big impact on your business.
This post How to make the most out of your social data in 2021 originally appeared on Sprout Social.
Marketing messaging matters.
This is especially true in an era where standing out from the digital crowd is such a struggle.
Think about how the average person is bombarded with hundreds of emails and thousands of social media posts per day.
Memorable, meaningful messages are the ones that are going to resonate with your customers.
And so you need to not only pay attention to what your brand says but how you say it.
In this guide, you’ll learn the basics of effective messaging and how to make sure you’re speaking your target audience’s language.
Marketing messaging represents how a brand communicates to its customers and highlights the value of its products. “Messages” refer to not only the actual words and phrases used by a brand in advertising but also feelings and emotions associated with what they say.
In short, messaging covers both a brand’s literal language and the subtext of their ads. Your approach to messaging impacts pretty much every corner of your business, including:
Keep in mind the distinction between your marketing messaging and your brand voice. The former refers to the big-picture message you want to convey to customers, while the latter represents the tone and attitude you adopt while doing so. Although they’re certainly intertwined, they’re far from the same.
Perhaps the best way to make sense of marketing messaging is by looking at some real-world examples.
Below are seven time-tested types of messages, all of which are staples of marketing at large.
Easily one of the most common marketing messages, conveying affordability works so well because it speaks to the near-universal problem of being strapped for cash.
For example, brands like Smile Direct Club do a brilliant job of stressing the value of their product using both numbers (“$3 per day”) and emotion (“a smile you’ll love”).
Especially in the world of tech, consumers want powerful products but not at the expense of those products being complicated.
The easier something is to use, the less stressful it is and the easier it is for people to imagine that product in their hands. Check out how Bubble.io hypes up their no-code software to skeptical customers.
So much of effective marketing messaging involves reassuring customers.
Conveying comfort means giving your buyers a warm-and-fuzzy feeling while also confirming that you understand how they think.
For example, Secretlab highlights how their gaming chairs are “built for every size,” perhaps reassuring buyers who’ve been burned by uniform seats or are otherwise skeptical.
Meanwhile, this video following their “invest in comfort” call-to-action reinforces that sense of comfort for totally different types of customers.
Promoting safety once again circles back to the concept of reassuring customers.
In the ever-so-competitive luxury car market, Volvo makes a point to stress security. Their most recent “A Million More Lives” campaign highlight the brand’s long-time commitment to vehicle safety and their ongoing efforts to keep the tradition alive with their latest models.
Marketing messaging doesn’t have to be rocket science.
Brands like Boden are booming right now with a seriously simple message: our products will help you stand out. Note the simple four-word statement (“Make your outfit pop”) and style-centric call-to-action on their homepage.
Meanwhile, the brand further cements its mission statement via its Instagram bio (“fill wardrobes with bold colour”)…
…and creates content around the concept of having a signature style via Instagram Reels.
See how that works?
No surprises here: people don’t want unreliable services or products that’ll fall apart.
Chicco does a great job of advertising the utility of their car seats but also the long-term emotional attachment associated with them.
Here’s another example from Bellroy via Facebook that connects the longevity of the product with an emotionally engaging narrative:
Brands today are more likely to encounter consumers who put ethics and sustainability above all.
Companies like Avocado have mastered messaging which emphasizes both ethical choices and happier customers.
Here’s another example from Arctic Fox, showcasing how marketing messaging mixes with your Instagram hashtags.
Brands are obviously spoiled for choice in terms of what they say and how they say it.
Companies might shift their messaging from campaign to campaign. Meanwhile, some brands might have more subtle messaging while others are totally in-your-face.
Below are some common threads between many of the examples above and effective marketing messaging in general.
Your messages should obviously feel like they’re written by humans and not be presented purely as sales messages.
Most marketing messages can be boiled to a single sentence or slogan. Brief messages hold readers’ attention and are ideal for social media, email subject lines and so on.
Again, brands should strive to make a connection with their prospects ASAP. Emotions make it happen, while a laundry list of features and specifications don’t.
Note: communicating features is typically reserved for later in your marketing funnel after your leads have had the time to do their homework.
The best marketing messages create a sense of urgency or help people imagine products in their hands. Be specific in what you’re offering. Many brands make the mistake of trying to be “creative” but they just end up presenting a vague message.
Lastly, punchy messages (“Make your outfit pop” or “#DYEFORACAUSE”) are the ones people are going to remember. This again speaks to the importance of coming up with short-but-sweet messages that consumers can recall.
Good question! There’s obviously a ton of variables that’ll influence your approach to messaging.
Whether your business is already established or you’re trying to get your brand off the ground, let’s look at some starting points to find a message that makes sense.
How you ultimately position and talk about your product depends largely on your target audience.
Specifically, consider your customers’ problems. What’s keeping them up at night? Are they budget-conscious? Step into their shoes and imagine what they’d be looking for in a business.
This is a key distinction between your brand voice and marketing messaging. You’re totally responsible for your voice, but your messaging largely hinges on your customers’ needs (not necessarily vice-versa).
You obviously don’t want to copycat or present the exact same messaging as your competitors. You need to differentiate yourself.
Doing so means putting your competitors’ messages’ under the microscope. For example, what sort of language are they using? How are they appealing to their audience’s emotions? In short, what’s their angle?
Keep in mind that there might be some overlap between you and your competitors in terms of messaging. That said, there are tons of examples of brands with seemingly similar products with totally different messages.
Case in point, look at the direct-to-consumer mattress industry. There’s tons of competition, but many of the biggest brands emphasize different messages:
Another key component of your message is your brand mission and values. Consider how you can integrate those values into your message and how doing so highlights your USP (unique selling point/proposition). We see this a lot with sustainable businesses as they take an angle that immediately separates them from the competition.
A quick side note! Marketing messaging typically isn’t just the brainchild of one person. Instead, deciding on a message represents democratic process that involves higher-ups and marketing departments alike.
Additionally, your messaging is something that should be understood from the top-down. It’s likewise something that you should be able to define for the sake of other employees. For example, documents such as your social media style guide should clearly define your marketing messaging for new team members to assist with onboarding.
When in doubt, look at your data.
For example, social media analytics can highlight your top-performing ads, posts and promotions to help you understand whether your messaging is landing. Based on these, you can optimize your messaging over time to ensure it’s relevant to your target audience.
This post How to make sure your marketing messaging always lands originally appeared on Sprout Social.
Knowing your audience is a lesson from effective marketing 101. Businesses can better market and sell their product or service when they have a clear understanding of customers’ pain points, business needs, goals, constraints and concerns.
Achieving that understanding can be challenging, especially when you’re selling to other businesses and their buyers.
B2B buyers have a lot to consider on their path to purchase, and that path is not linear or simple. In fact, 77% of B2B buyers say their latest purchase was very complex or difficult.
B2B buying is less about progressing through a stage-by-stage sales funnel and more about completing a set of non-sequential tasks: problem identification, solution exploration, requirements building supplier selection, validation and consensus creation. While buyers take on these tasks, it’s B2B marketer’s job to know how, why and when their brand can assist and enable buyers to check each task off their to-do list.
This is why B2B market research is critical. Market research helps companies to:
You don’t need to spend a lot of money on research firms. In fact, there’s a lot you can discover on your own with a few simple tools and methods.
Keyword research tools, social media listening data and review sites are goldmines for market research that are oftentimes overlooked.
Discover new depths of audience insights, empower B2B buyers and make better business decisions with these four fundamental market research methods.
In the early stages of the buyer journey, people are trying to learn what brands are out there and what solutions are available. Like most people, B2B buyers often start that research on Google or another search engine.
Where there are searches, there’s valuable data.
Keyword research, while most often associated with SEO, can also help you understand your audience and how they search for products and services like yours.
With Google Trends, Answer the Public, Ahrefs Keywords Explorer, Google Keyword Planner and other SEO tools can help you answer the questions:
With the answer to these questions, you can build out content, SEO and B2B social media strategies that improve the visibility of your brand and deliver hyper-relevant information to your target audience.
Buyers already have a lot of information to digest, so quality is more important than quantity. The more relevant information you can give your buyers, the better. According to Gartner, providing customers with information specifically designed to help them advance their purchase has the single biggest impact on driving deal quality that the research firm has ever documented.
Want to learn more about how to conduct keyword research? Get tips, tools and more keyword research benefits here.
Consulting peers—either in person, or online via product review websites or social networks—is consistently among the most trusted ways for buyers to source information. Getting recommendations from people in similar companies, roles and industries naturally sparks buyers’ confidence and interest in a product or service. With social listening, marketers can be a fly on the wall where those kinds of conversations occur.
There’s a lot of noise on social, but social listening tools like Sprout Social’s make it possible to cut through to specific topics and themes that you do and do not want to listen for. In Sprout Social, users have the power to build Listening Topics around specific accounts, hashtags, industry keywords and more.
If you’ve done keyword research already, your findings can help you refine your Topic queries and add filters to dig deeper into conversations. Once Topics are set up, your tool will collect candid conversations from the world’s largest focus group.
As you dive into performance data, metrics like message volume, number of unique authors, impressions, engagements and other quantitative data points can validate what conversations are occurring and quantify topic trends. Feedback, opinions, sentiment and other qualitative data signal why and where these conversations are happening.
While using listening for your market research, develop specific questions that you want to investigate. You might ask:
Sprout users can also use listening to gather market research from Facebook, Twitter, Instagram, Tumblr, Youtube and Reddit. The latter two are unique and valuable—but underused—channels for B2B market research.
As they do their own research, B2B buyers can easily find video reviews and product roundups on Youtube relevant to their needs. Even a quick search for something like “the best CRM software for small business” yields tons of results. Instead of watching every single video, scouring descriptions to see what themes come up, or checking to see if your brand was mentioned, you can have listening tools do the work for you. While you’re at it, you might even find some user-generated content that’s worth sharing on social.
Reddit has a reputation for being a place for real people to share unfiltered opinions, and where anyone who’s clearly trying to self-promote or sell something is shooed away by moderators.
If a B2B buyer is exploring the “Software” subreddit to learn about project management software, they can find authentic community contributions that draw on real experiences and trust that those contributions aren’t just a ploy to get new leads or draw attention to a specific business.
Trust is always an important factor in a business relationship, but marketers and sales teams have to work to overcome buyer skepticism. When you tap into online conversations and have research on your customer needs, you can learn how you can contribute positively to the buyer journey. Instead of using research strictly to sell or market your product, focus your attention on how you can use that research to inform and assist buyers and build new business relationships with trust at the foundation
To come out on top in a competitive deal cycle, you need to understand your competitors’ strengths and weaknesses and use those to your advantage. Social listening can help with that.
In Sprout Social’s Competitive Analysis Listening tool, you get a side-by-side competitor comparison of key performance metrics across social, including share of voice, average positive sentiment and other metrics that can help contextualize quantitative competitor research findings outside of social.
Sentiment analysis in particular will show you how your shared audience feels about your competitor. Apply a positive sentiment filter to find what your audience likes about your competitor, what product features are most popular for them and more.
Conversely, you might also explore conversations using a negative sentiment filter to find online conversations where competitors, their products or services are getting negative feedback.
Let’s say you uncover that people are unsatisfied with the interface of your competitors’ software—but your customers consistently rave about your software’s interface. How can those findings influence your marketing campaigns or product development? What are the identifiable differences and advantages in your product? How can your business use that weakness to your advantage?
Bring together a group of stakeholders from various disciplines to digest your research findings and answer these questions. Colleagues from departments outside of marketing will have unique and additional perspectives about how to put your research to work. A group brainstorm might spark ideas for website copy, sales collateral, campaign strategies and more.
Turning listening insights alone into actionable business recommendations and deliverables comes with a learning curve. But when you combine listening with your intuition, additional market research and insightful colleagues, you can continue to find ways to differentiate your brand and gain a competitive edge.
In a recent survey of B2B buyers and/or buying influencers, 82% of respondents reported using online review sites to support buying decisions. Review sites have information that can serve a buyer at all stages of the buying process, so that’s not altogether shocking. But B2B marketers should also be monitoring and leveraging reviews for qualitative research.
G2, Capterra and TrustRadius house verified reviews for business software and services so buyers and businesses alike can glean insights from unbiased ratings on user satisfaction, features, price and more. Reviews typically include a clear breakdown of the strengths and weaknesses of your products and services. These sites also have discussion boards where users can ask questions about the software they’re seeking.
Marketers can collect, package and present that crystal clear feedback to leadership, product, sales teams and other disciplines. Combined with your other market research findings, customer feedback can inform:
At Sprout, we rely on reviews to continually improve our software and the way we do business. When we understand what our users like and dislike, the recommendations they’d give to others considering Sprout, the problems they solve with our products and overall benefits, we can build upon what we know about our audience, better serve them and create content that fills knowledge gaps.
We also collect suggestions and feedback directly from reviews and discussions. Then, we’re able to bring that feedback to the necessary teams. We might not always be able to act on suggestions, but creating a feedback loop and letting reviewers know they’ve been heard is a win-win for Sprout and our customers.
The path to purchase for B2B buyers is a long and winding road. But if you know who your target audience is and what they care about, you can empower them in their search. Use your market research to pave a smoother road for buyers and create better experiences for your current customers.
With market research on your side, you can:
By doing strategic B2B market research, you can get into the mindset of your target market, better cater to their needs and cultivate relationships built on trust.
Take B2B social data further with our guide to turning your data into a revenue-driver. You’ll learn how to hone four key practices fueled by social listening and data that will help your B2B business level up. Download the guide now.
This post 4 overlooked B2B market research methods for understanding your customers originally appeared on Sprout Social.
I will argue with alarming confidence (and no actual data) that 90’s kids were the original vloggers.
When I was about 14 years old, someone handed me a digital camera that I spent hours talking to. I would take my audience (AKA me) on my teen adventures and say things like, “Hey guys, it’s Martina. Today, my cousin and I are going over to her friend’s house.” Exciting stuff. Thankfully, that footage never saw the light of day.
When YouTube first launched, people like me finally had a platform to share stories, entertain, and educate. But then, vlogging evolved into what we know it as today: a sustainable income source for influencers and an effective content marketing tool for brands.
So, how do you start vlogging? We’ll cover that and more here.
Before you pull out your camera and start filming, you’ll have to do some strategizing. It starts with finding your niche.
This means narrowing down what your vlog will cover based on your brand, audience, and demand.
Starting with your audience: Does vlogging align with your user persona? This is critical, as you want to meet your audience where they are. Imagine creating these high-quality videos for YouTube, but your ideal customer lives on Facebook and prefers short-form videos. In this case, you would have wasted time and resources. So, start by reviewing your persona and ensuring this venture is a worthy investment.
Here are additional steps you should take to narrow down your niche:
Now that you’ve found your niche, here comes the fun part: content planning.
Just as you would for a blog or social media account, you want to break down your content ideas. Start with broad topic clusters and work your way down to specific videos. If you’re having trouble, HubSpot’s Business Blogging course can serve as a great foundation for structuring your content.
From there, you can group your ideas into series, which work great on vlogging channels. Think of them as segments on a TV show. They fall under the broader topic but only cover something specific. For instance, let’s say Tasty wants to start a food vlog. There are several subseries they could have, including:
Social listening will also help you keep your ear to the ground and generate new content ideas.
With vlogging, there’s an additional layer of planning involved. Will you need any props for filming? Do you need to be at a particular location? All of this will call for advanced planning to ensure filming goes smoothly.
Once you know what topics you will cover, tackle the less concrete areas. What will be your channel’s aesthetic and style? Is it light and airy or dark and moody? It’s important your vlog channel matches your overall brand. So, go back to your brand identity and use that as your guide to design your channel.
Having a successful vlog isn’t only about having great content. It’s also about having the right equipment to produce high-quality videos. Every video you produce needs:
If you’re on a budget, here are a few essentials to get you going:
As your channel grows, you can invest in additional equipment.
One of the benefits of content planning is that you can then film multiple vlogs at once. Batch filming will save you hours of set up and make scheduling a breeze.
Start by looking at the content you plan on filming over the next few weeks. Then, see which ones can be filmed together.
Keep in mind that not every series will allow for batch-filming. For instance, if some of your vlogs will consist of behind-the-scenes footage, this strategy won’t work. Batch filming works best for videos within the same series with little to no change in the setting, like talking head vlogs.
Once you know which ones you will film, it’s just a matter of scheduling.
Once you’ve filmed and edited your video, there’s another step to complete before it’s ready to be published.
The first is making a thumbnail. It’s one way viewers will decide if they want to watch your video. While you can simply take a screengrab from your vlog and use that as your thumbnail, you’ll likely want to stand out with a custom thumbnail.
YouTube’s Creator Academy recommends these following specs for your thumbnail: 1280 x 720 pixels (16:9 ratio) with a resolution up to 2MB.
Next up is your video title. It’s key to gaining your audience’s interest and for SEO. Whenever you’re writing one, keep these tips in mind:
Don’t forget about your video tags and descriptions. View these as additional SEO opportunities to rank higher for search queries and help audiences find your content.
Vlogging is a slow and steady venture that requires consistency. Yes, it’s important to have high-quality content but you can lose your audience if you don’t maintain a regular publishing schedule.
Think of your favorite TV shows. Isn’t it the worst when you’re expecting a new episode but it doesn’t air because of a football game or holiday? Well, it’s the same for vlogging.
Audiences expect consistency. When they don’t get it, they’re more likely to seek out other brands.
Once your channel begins generating views and subscribers, you can analyze your metrics to review each video’s performance.
Metrics like average watch time and audience retention can tell you if your content is resonating with your audience. Re-watches can help you identify subtopics of interest and develop more content ideas.
Impressions and click-through-rate (CTR) will tell you how attractive your thumbnail and title are. If the rate is low, you may need to try different titling strategies or use a different thumbnail template.
As with any venture, there’s trial and error involved. Analyzing your vlogs’ performance will give you the data you need to grow your channel.
There are two main types of vlog styles:
If the video requires it, you can also combine these two styles within one video. You can also use the styles interchangeably from one video to the next.
One mistake brands can make is take their approach to social media videos and TV, and apply it to vlogging. Vlogging audiences tend to look for longer videos that go in depth on a given topic, unlike the short, viral-friendly content you’d typically see on TikTok or Instagram.
With audiences craving more authenticity from brands, vlogs are a great opportunity to show the faces behind your brand and engage with subscribers.
A vlog typically follows a similar storytelling format to a blog. When a viewer lands on your video, they expect an introduction to the topic followed by a deep dive. It then ends with a recap of what was discussed and a call to action.
Following this simple story structure will help you develop the content for each section of the video without straying off course. Writing video scripts is another way to make sure you cover key points in your video.
Pro-tip: Use a teleprompter app to deliver your script seamlessly without looking rehearsed.
Comments, likes, shares are some of the ways your audience can engage with you on your vlog channel. But how do you encourage that behavior? It starts with your video.
Your video should include ways for your viewers to join the discussion. A simple call out like “Tell us your thoughts on X in the comment section,” or “Put a thumbs up if you agree,” urges your viewers to jump in.
Incorporating subscribers’ comments or suggestions in your future videos is another way to encourage participation and drive your engagement rate up.
Depending on your budget and the style you’re going for, you can choose between vlogging from your phone or camera.
Vlogging with a phone can give a more intimate and informal look to your vlog. It’s often used to show behind-the-scenes footage or when taking the audience on an adventure with you. However, you do sacrifice image quality when filming from a phone.
If you’re on a budget, a phone will do. As your vlog channel grows, it’s worth investing in a lightweight camera that works in different lighting conditions and has key features like image stabilization and mic inputs.
When filming a vlog, you’ll inevitably pause from time to time, make mistakes, or need to reshoot something. This is where editing comes in handy.
Editing videos allows you to cut down your video to keep the most important parts. There are many video editing software available ranging in price, ease of use, and features. The most popular options include:
A good vlogging intro serves the same purpose as your favorite show’s theme song. It helps build a connection with your audience and helps maintain consistency.
There are a few different approaches you can take with your intro. Some brands keep it simple with a simple frame of their logo while others prefer intros that give more context into the channel with voice-overs or animation.
Whatever you choose, be sure to use that intro in every video you publish.
Think of a scary movie without any terrifying music to build up the moment. Not the same, right?
Sounds and music are subtle touches that can keep your audience engaged in your content.
One thing to keep in mind is that YouTube is very strict about the use of copyrighted material. You must use royalty-free music or risk having a muted video your audience can’t enjoy.
Thankfully, there are several free music libraries online to find royalty-free music, including YouTube Audio Library and ccMixter.
Be sure to check the fine print before downloading, as some sites require you to credit the artist on your video. If you want a wider selection of music, you will likely need to subscribe to a royalty-free music library platform.
YouTube is the second largest search engine behind Google and the most popular vlogging platform. According to the Pew Research Center, 73% of adults report using it, most users between 18 and 49 years of age.
So, naturally, it’s where most brands and influencers launch their channel. The platform also allows its content creators to monetize their videos with ads, offering an additional source of revenue.
YouTube is also one of the most lenient platforms when it comes to video length. Users can post videos up to 12 hours. But, like I tell myself when I’m tempted to eat a bag of gummy bears: even though you can, doesn’t mean you should.So, while the option is there, most brands should probably stick to videos under 30 minutes.
Find the steps to create a YouTube channel here.
As soon as Instagram launched IGTV, it became another vlogging platform. Users can categorize their IGTV videos by series, which makes it easy to navigate. However, unlike YouTube, content creators are restricted to 20-minute videos.
A major benefit to this platform is the fact that it’s an all-in-one experience. Followers can scroll down a brand’s timeline to see their pictures and videos as well as shop their products.
With Instagram being an influencer hub, brands could benefit from collaborating with influencers for IGTV vlogs.
Although less popular, some brands use Vimeo to post their vlogs. Back in 2019, the site had a reported 170 million active monthly users. One benefit of using this platform is that there’s less competition, making it easier to stand out.
According to a report by CNET, 70% of the videos users watch are recommended by the platform’s algorithm. So, getting on the algorithm’s proverbial good side is a great advantage.
The first tip for success is creating content that matches your audience’s interests. Google reported that when deciding what to watch, YouTube viewers choose interest over production value at 1.6 times the rate.
Some publishers report that the algorithm favors longer videos. However, spokespeople from YouTube have said it doesn’t prioritize by length, but instead by interest. The better a video performs, the more likely it will get recommended.
So, by focusing on creating high-quality content that aligns with your audience, you can have a highly successful vlog that’s engaging and drives traffic to your brand.
Reblogged 6 days ago from blog.hubspot.comWhen you create and add a compelling call-to-action (CTA) to any content — such as a website, blog post, or social media profile — you have the potential to convert more visitors into qualified leads and customers. That’s because a well-crafted CTA helps increase conversions and, therefore, prospects, customers, and revenue.
Call-to-action tools, or CTA tools, exist to make the process of creating and adding CTAs to your website, blog, or social media posts simple.
You may already have access to a CTA creator/generator in your current business tools, such as your Marketing Software. If that’s not the case, consider using any of the following CTA tools to efficiently create and add CTAs where you need them most.
Here are seven tools for generating CTAs so can begin increasing conversions.
HubSpot’s Calls-to-Action tool allows you to create, personalize, test, and optimize CTAs that drive qualified leads to your landing pages in seconds. The easy-to-use CTA builder doesn’t require a designer and helps you make CTA buttons or CTA pop-ups. You can also upload custom button design or image-based CTAs of your own.
When personalizing CTAs, HubSpot provides useful information about individuals from your contact database (e.g. industry, lifecycle stage) to help you tailor the CTA to them. Or, if you’re targeting anonymous visitors, use other helpful details like their location or language.
Once your CTAs are complete, add them to web pages, landing pages, blog articles, or emails. Then, A/B test, analyze, and optimize your CTA’s and their performance — you can easily manage all of your CTA data from a single dashboard in HubSpot that displays views, clicks, and conversions.
With Wishpond, create and optimize CTAs for web and landing pages with a drag-and-drop builder and over 20 templates. A/B and/or multivariate test versions of your CTAs to determine which does the best job of converting visitors.
Advanced tracking provides insight into which CTAs are most effective among your visitors. Meanwhile, marketing automation assists with customer segmentation (once visitors have converted, thanks to your CTA, of course) and sending emails. Wishpond also integrates with over 40 different tools to make tasks (such as data analysis, closing deals, and team-wide collaboration) simple.
With Sniply, add CTAs to the links you share (e.g. web page, blog article, social media post) — in other words, overlay a customized CTA on any content.
Simply enter any URL that you want to include a CTA (this can be one of your own URLs or one from a third-party site). Sniply will then generate a slightly different, shareable URL for you. Once your audience clicks on the new URL, your CTA will be visible on the page.
Customize a CTA’s look (color, text, size), type (banner, pop-up), and placement on the page. Then, monitor your results and track CTA engagement from within Sniply to better understand how your audience interacts with your CTAs.
ClickMinded’s Da Button Factory is a free tool for generating CTAs that you can add to your website, social media post, email, or blog article. Decide what you want your CTA to say and look like by selecting button text, font, style, color, background, and size — then, the tool will generate your CTA.
Once you’re ready to implement your new CTA, opt to either download the image file or implement the button as HTML + CSS.
Canva is an easy-to-use graphic design software with drag-and-drop features and a variety of pre-built templates that you can customize — if you’re looking to design something from scratch, you can easily do that in Canva by simply selecting your own dimensions.
Canva does not currently have a specific template for CTAs, however, it’s easy to build your own. After selecting the dimensions for your CTA, design and brand the button in any way you want. The Canva dashboard is easy to navigate, even for those without any design knowledge.
Once your CTA design is complete, download the final product and upload it to your content management system (CMS) so you can insert the CTA on a landing or web page.
ImageFu is a button and badge generator — the tool can create CTAs in seconds. Simply type the text you want to appear in your CTA button (this can span multiple lines) and customize it to your liking. Select your border, background, shadow, corners (type and radius), and size. Then, download the CTA and save it to your device so can add it to your CMS and insert it onto a web page.
ButtonOptimizer is a free CTA generator that helps you customize CTA buttons for your website or landing page. Select the base color of your CTA as well as the text, size, border, icon, and shadow. Once you’re satisfied with the look of your CTA, the tool will prompt you to decide whether you want to download it as a PNG file or CSS code so you can then insert it on your site.
Pay-Per-Click (PPC) advertising is an important component of online marketing. Specific strategies can be used by advertisers to maximize the return from their PPC marketing. PPC advertising is a highly effective way to drive targeted prospects to websites, sales pages, or blogs. Digital marketers can choose between Google AdWords, Facebook Ads, or Bing Ads. However, most online marketers prefer using Google AdWords for their PPC strategy since it displays their ads on Google SERPs.
Though PPC marketing costs money, it has five important benefits:
Advertisers can set up their PPC ad campaigns easily and quickly. They can use PPC ads to target their prospects with precision and get results almost immediately. According to Neil Patel, SEO expert and co-founder of both Crazy Egg and Hello Bar:
“With PPC, you can drive visitors to your website in hours, not months”
Ad text, keywords, and other elements of PPC ads can be constantly tweaked to optimize and so maximize their effectiveness.
Google Adwords charges advertisers only when there are clicks on their ads and not merely when ads are displayed.
Advertisers can decide on the budget of their PPC campaign since Google Adwords does not have any minimum spending limits. For instance, they can set a maximum daily budget of twenty dollars and a maximum cost of twenty cents for each click on their ad, which they can change whenever they want.
With a PPC campaign, digital marketers can easily predict the number of their visitors based on how much they spend. The search engine algorithm is less of a factor. In one of his PPC related articles, Neil Patel stated,
“Spend more, get more visitors. If you want exactly 10,000 visitors, you can get exactly 10,000 visitors”,
Despite all these benefits of Google Ads PPC advertising, first-time digital marketers should be attentive as they may lose a lot on their invested money if they ever fail to properly set up their PPC marketing campaigns.
The first thing new marketers should do is to read thoroughly the Google Adwords Getting Started Guide, which has a large amount of useful information. Next, they should use the Google Adwords Keyword Suggestion Tool and create a comprehensive list of relevant keywords for their products or services.
Since the price per click of PPC ads is determined by competitive bidding of search terms, popular search terms such as “insurance”, “stop smoking”, and “weight-loss” cost several dollars for the top three positions on the search results. On the other hand, long-tail keywords are phrases that are not searched very often but are more likely to be used by people who are willing to buy.
Ahrefs, in fact, reports that 92% of all keywords get 10 or fewer searches per month. In other words, 92% of all keywords that people type into search engines are long tails.
Well written ads are decisive to the success of a Google Ads PPC strategy. They should highlight the key benefit of the product or service so that potential clients click on them.
Marketers should also include these elements in their ads:
Users who see the price of the product and still click the ad are more likely to buy the product. If they think the price is too high, they may not click on the ad and save the cost of that click.
Specific call-to-action phrases such as “purchase”, “buy”, “call today”, “sign up”, and “order ensures” the prospects understand what they are expected to do after they clicking the ad.
Whenever users type that keyword and the ad is displayed, the keyword phrase appears “in bold font” within the ad on the Google search page. This will draw their attention to the ad.
If people who click the ad do not find the product on that page, they are likely to exit and click some other ad.
Advertisers can experiment with different offers and call-to-action phrases and test multiple ads. Google Adwords rotates ads automatically within the ad group and displays, more often, the better-performing one. They can remove keywords that are not getting enough clicks and replace them with others. Also, they can decrease or increase the maximum cost-per-click and check the effect on the performance of their ads.
Advertisers should make a list of keywords that cause their ads to be displayed but are not related to their product. After that, they should submit them as negative keywords by putting a negative sign in front of those keywords. By doing this, they will ensure that anyone using those keywords won’t have their ad displayed to them. For instance, if the product is about “how to stop smoking”, advertisers should exclude anything like “smoking chimneys” or any other sources of smoke!
“Some keywords might have far different user intent and bring in clicks that are an immediate bounce but won’t turn into a conversion”.
Explained SEO expert Rinko de Jong, in an email interview.
“This could also lead to ad impressions that result in no clicks. Both can weaken the quality score of your ad resulting in negatively impacting your ad placement and cost per click”, he added.
Clicks originating from these websites are usually of a lower quality than those from search results because they come from people who are browsing that website, not people who are actively searching for the product of the advertiser. So, these clicks might result in fewer sales but will cost definitely just the same.
Pay-Per-Click marketing has the potential to drive a steady stream of visitors to affiliate sites, sales pages, or websites resulting in increased sales and profits if it is properly set up and constantly monitored.
Jacob M. is a copywriter, marketing blogger, and inbound marketing consultant.
The post Ways to get the most out of your Google Adwords PPC strategy appeared first on Search Engine Watch.
Reblogged 6 days ago from www.searchenginewatch.com