Archive

Archive for June, 2020

How to Make localStorage Reactive in Vue

June 24th, 2020 No comments

Reactivity is one of Vue’s greatest features. It is also one of the most mysterious if you don’t know what it’s doing behind the scenes. Like, why does it work with objects and arrays and not with other things, like localStorage?

Let’s answer that that question, and while we’re at it, make Vue reactivity work with localStorage.

If we were to run the following code, we would see that the counter being displayed as a static value and not change like we might expect it to because of the interval changing the value in localStorage.

new Vue({
  el: "#counter",
  data: () => ({
    counter: localStorage.getItem("counter")
  }),
  computed: {
    even() {
      return this.counter % 2 == 0;
    }
  },
  template: `<div>
    <div>Counter: {{ counter }}</div>
    <div>Counter is {{ even ? 'even' : 'odd' }}</div>
  </div>`
});
// some-other-file.js
setInterval(() => {
  const counter = localStorage.getItem("counter");
  localStorage.setItem("counter", +counter + 1);
}, 1000);

While the counter property inside the Vue instance is reactive, it won’t change just because we changed its origin in localStorage.

There are multiple solutions for this, the nicest perhaps is using Vuex and keep the store value in sync with localStorage. But what if we need something simple like what we have in this example? We have to take a dive in how Vue’s reactivity system works.

Reactivity in Vue

When Vue initializes a component instance, it observes the data option. This means it walks through all of the properties in data and converts them to getters/setters using Object.defineProperty. By having a custom setter for each property, Vue knows when a property changes, and it can notify the dependents that need to react to the change. How does it know which dependents rely on a property? By tapping into the getters, it can register when a computed property, watcher function, or render function accesses a data prop.

// core/instance/state.js
function initData () {
  // ...
  observe(data)
}
// core/observer/index.js
export function observe (value) {
  // ...
  new Observer(value)
  // ...
}

export class Observer {
  // ...
  constructor (value) {
    // ...
    this.walk(value)
  }
  
  walk (obj) {
    const keys = Object.keys(obj)
    for (let i = 0; i < keys.length; i++) {
      defineReactive(obj, keys[i])
    }
  }
} 


export function defineReactive (obj, key, ...) {
  const dep = new Dep()
  // ...
  Object.defineProperty(obj, key, {
    // ...
    get() {
      // ...
      dep.depend()
      // ...
    },
    set(newVal) {
      // ...
      dep.notify()
    }
  })
}

So, why isn’t localStorage reactive? Because it’s not an object with properties.

But wait. We can’t define getters and setters with arrays either, yet arrays in Vue are still reactive. That’s because arrays are a special case in Vue. In order to have reactive arrays, Vue overrides array methods behind the scenes and patches them together with Vue’s reactivity system.

Could we do something similar with localStorage?

Overriding localStorage functions

As a first try, we can fix our initial example by overriding localStorage methods to keep track which component instances requested a localStorage item.

// A map between localStorage item keys and a list of Vue instances that depend on it
const storeItemSubscribers = {};


const getItem = window.localStorage.getItem;
localStorage.getItem = (key, target) => {
  console.info("Getting", key);


  // Collect dependent Vue instance
  if (!storeItemSubscribers[key]) storeItemSubscribers[key] = [];
  if (target) storeItemSubscribers[key].push(target);


  // Call the original function 
  return getItem.call(localStorage, key);
};


const setItem = window.localStorage.setItem;
localStorage.setItem = (key, value) => {
  console.info("Setting", key, value);


  // Update the value in the dependent Vue instances
  if (storeItemSubscribers[key]) {
    storeItemSubscribers[key].forEach((dep) => {
      if (dep.hasOwnProperty(key)) dep[key] = value;
    });
  }


  // Call the original function
  setItem.call(localStorage, key, value);
};
new Vue({
  el: "#counter",
  data: function() {
    return {
      counter: localStorage.getItem("counter", this) // We need to pass 'this' for now
    }
  },
  computed: {
    even() {
      return this.counter % 2 == 0;
    }
  },
  template: `<div>
    <div>Counter: {{ counter }}</div>
    <div>Counter is {{ even ? 'even' : 'odd' }}</div>
  </div>`
});
setInterval(() => {
  const counter = localStorage.getItem("counter");
  localStorage.setItem("counter", +counter + 1);
}, 1000);

In this example, we redefine getItem and setItem in order to collect and and notify the components that depend on localStorage items. In the new getItem, we note which component requests which item, and in setItems, we reach out to all the components that requested the item and rewrite their data prop.

In order to make the code above work, we have to pass on a reference to the component instance to getItem and that changes its function signature. We also can’t use the arrow function anymore because we otherwise wouldn’t have the correct this value.

If we want to do better, we have to dig deeper. For example, how could we keep track of dependents without explicitly passing them on?

How Vue collects dependencies

For inspiration, we can go back to Vue’s reactivity system. We previously saw that a data property’s getter will subscribe the caller to the further changes of the property when the data property is accessed. But how does it know who made the call? When we get a data prop, its getter function doesn’t have any input regarding who the caller was. Getter functions have no inputs. How does it know who to register as a dependent?

Each data property maintains a list of its dependents that need to react in a Dep class. If we dig deeper in this class, we can see that the dependent itself is already defined in a static target variable whenever it is registered. This target is set by a so-far-mysterious Watcher class. In fact, when a data property changes, these watchers will be actually notified, and they will initiate the re-rendering of the component or the recalculation of a computed property.

But, again, who they are?

When Vue makes the data option observable, it also creates watchers for each computed property function, as well as all the watch functions (which shouldn’t be confused with the Watcher class), and the render function of every component instance. Watchers are like companions for these functions. They mainly do two things:

  1. They evaluate the function when they are created. This triggers the collection of dependencies.
  2. They re-run their function when they are notified that a value they rely on has changed. This will ultimately recalculate a computed property or re-render a whole component.

There is an important step that happens before watchers call the function they are responsible for: they set themselves as target in a static variable in the Dep class. This makes sure the they are registered as dependent when a reactive data property is accessed.

Keeping track of who called localStorage

We can’t exactly do that because we don’t have access to the inner mechanics of Vue. However, we can use the idea from Vue that lets a watcher set the target in a static property before it calls the function it is responsible for. Could we set a reference to the component instance before localStorage gets called?

If we assume that localStorage gets called while setting the data option, then we can hook into beforeCreate and created. These two hooks get triggered before and after initializing the data option, so we can set, then clear, a target variable with a reference to the current component instance (which we have access to in lifecycle hooks). Then, in our custom getters, we can register this target as a dependent.

The final bit we have to do is make these lifecycle hooks part of all our components. We can do that with a global mixin for the whole project.

// A map between localStorage item keys and a list of Vue instances that depend on it
const storeItemSubscribers = {};

// The Vue instance that is currently being initialised
let target = undefined;

const getItem = window.localStorage.getItem;
localStorage.getItem = (key) => {
  console.info("Getting", key);

  // Collect dependent Vue instance
  if (!storeItemSubscribers[key]) storeItemSubscribers[key] = [];
  if (target) storeItemSubscribers[key].push(target);

  // Call the original function
  return getItem.call(localStorage, key);
};

const setItem = window.localStorage.setItem;
localStorage.setItem = (key, value) => {
  console.info("Setting", key, value);

  // Update the value in the dependent Vue instances
  if (storeItemSubscribers[key]) {
    storeItemSubscribers[key].forEach((dep) => {
      if (dep.hasOwnProperty(key)) dep[key] = value;
    });
  }
  
  // Call the original function
  setItem.call(localStorage, key, value);
};

Vue.mixin({
  beforeCreate() {
    console.log("beforeCreate", this._uid);
    target = this;
  },
  created() {
    console.log("created", this._uid);
    target = undefined;
  }
});

Now, when we run our initial example, we will get a counter that increases the number every second.

new Vue({
  el: "#counter",
  data: () => ({
    counter: localStorage.getItem("counter")
  }),
  computed: {
    even() {
      return this.counter % 2 == 0;
    }
  },
  template: `<div class="component">
    <div>Counter: {{ counter }}</div>
    <div>Counter is {{ even ? 'even' : 'odd' }}</div>
  </div>`
});
setInterval(() => {
  const counter = localStorage.getItem("counter");
  localStorage.setItem("counter", +counter + 1);
}, 1000);
CodePen Embed Fallback

The end of our thought experiment

While we solved our initial problem, keep in mind that this is mostly a thought experiment. It lacks several features, like handling removed items and unmounted component instances. It also comes with restrictions, like the property name of the component instance requires the same name as the item stored in localStorage. That said, the primary goal is to get a better idea of how Vue reactivity works behind the scenes and get the most out of it, so that’s what I hope you get out of all this.

The post How to Make localStorage Reactive in Vue appeared first on CSS-Tricks.

Categories: Designing, Others Tags:

A Practical Guide To Testing React Applications With Jest

June 24th, 2020 No comments
Smashing Editorial

A Practical Guide To Testing React Applications With Jest

A Practical Guide To Testing React Applications With Jest

Adeneye David Abiodun

2020-06-24T12:00:00+00:00
2020-06-28T04:07:19+00:00

In this article, I’m going to introduce you to a React testing tool named Jest, along with the popular library Enzyme, which is designed to test React components. I’ll introduce you to Jest testing techniques, including: running tests, testing React components, snapshot testing, and mocking.
If you are new to testing and wondering how to get started, you will find this tutorial helpful because we will start with an introduction to testing. By the end, you’ll be up and running, testing React applications using Jest and Enzyme. You should be familiar with React in order to follow this tutorial.

A Brief Introduction To Testing

Testing is a line-by-line review of how your code will execute. A suite of tests for an application comprises various bit of code to verify whether an application is executing successfully and without error. Testing also comes in handy when updates are made to code. After updating a piece of code, you can run a test to ensure that the update does not break functionality already in the application.

Why Test?

It’s good to understand why we doing something before doing it. So, why test, and what is its purpose?

  1. The first purpose of testing is to prevent regression. Regression is the reappearance of a bug that had previously been fixed. It makes a feature stop functioning as intended after a certain event occurs.
  2. Testing ensures the functionality of complex components and modular applications.
  3. Testing is required for the effective performance of a software application or product.

Testing makes an app more robust and less prone to error. It’s a way to verify that your code does what you want it to do and that your app works as intended for your users.

Let’s go over the types of testing and what they do.

Unit Test

In this type of test, individual units or components of the software are tested. A unit might be an individual function, method, procedure, module, or object. A unit test isolates a section of code and verifies its correctness, in order to validate that each unit of the software’s code performs as expected.

In unit testing, individual procedures or functions are tested to guarantee that they are operating properly, and all components are tested individually. For instance, testing a function or whether a statement or loop in a program is functioning properly would fall under the scope of unit testing.

Component Test

Component testing verifies the functionality of an individual part of an application. Tests are performed on each component in isolation from other components. Generally, React applications are made up of several components, so component testing deals with testing these components individually.

For example, consider a website that has different web pages with many components. Every component will have its own subcomponents. Testing each module without considering integration with other components is referred to as component testing.

Testing like this in React requires more sophisticated tools. So, we would need Jest and sometimes more sophisticated tools, like Enzyme, which we will discuss briefly later.

Snapshot Test

A snapshot test makes sure that the user interface (UI) of a web application does not change unexpectedly. It captures the code of a component at a moment in time, so that we can compare the component in one state with any other possible state it might take.

We will learn about snapshot testing in a later section.

Advantages and Disadvantages of Testing

Testing is great and should be done, but it has advantages and disadvantages.

Advantages

  1. It prevents unexpected regression.
  2. It allows the developer to focus on the current task, rather than worrying about the past.
  3. It allows modular construction of an application that would otherwise be too complex to build.
  4. It reduces the need for manual verification.

Disadvantages

  1. You need to write more code, as well as debug and maintain.
  2. Non-critical test failures might cause the app to be rejected in terms of continuous integration.

Introduction to Jest

Jest is a delightful JavaScript testing framework with a focus on simplicity. It can be installed with npm or Yarn. Jest fits into a broader category of utilities known as test runners. It works great for React applications, but it also works great outside of React applications.

Enzyme is a library that is used to test React applications. It’s designed to test components, and it makes it possible to write assertions that simulate actions that confirm whether the UI is working correctly.

Jest and Enzyme complement each other so well, so in this article we will be using both.

Process Of Running A Test With Jest

In this section, we will be installing Jest and writing tests. If you are new to React, then I recommend using Create React App, because it is ready for use and ships with Jest.

npm init react-app my-app

We need to install Enzyme ****and enzyme-adapter-react-16 with react-test-renderer (the number should be based on the version of React you’re using).

npm install --save-dev enzyme enzyme-adapter-react-16 react-test-renderer

Now that we have created our project with both Jest and Enzyme, we need to create a setupTest.js file in the src folder of the project. The file should look like this:

import { configure } from "enzyme";
import Adapter from "enzyme-adapter-react-16";
configure({ adapter: new Adapter() });

This imports Enzyme and sets up the adapter to run our tests.

Before continuing, let’s learn some basics. Some key things are used a lot in this article, and you’ll need to understand them.

  • it or test
    You would pass a function to this method, and the test runner would execute that function as a block of tests.
  • describe
    This optional method is for grouping any number of it or test statements.
  • expect
    This is the condition that the test needs to pass. It compares the received parameter to the matcher. It also gives you access to a number of matchers that let you validate different things. You can read more about it in the documentation.
  • mount
    This method renders the full DOM, including the child components of the parent component, in which we are running the tests.
  • shallow
    This renders only the individual components that we are testing. It does not render child components. This enables us to test components in isolation.

Creating A Test File

How does Jest know what’s a test file and what isn’t? The first rule is that any files found in any directory with the name __test__ are considered a test. If you put a JavaScript file in one of these folders, Jest will try to run it when you call Jest, for better or for worse. The second rule is that Jest will recognize any file with the suffix .spec.js or .test.js. It will search the names of all folders and all files in your entire repository.

Let’s create our first test, for a React mini-application created for this tutorial. You can clone it on GitHub. Run npm install to install all of the packages, and then npm start to launch the app. Check the README.md file for more information.

Let’s open App.test.js to write our first test. First, check whether our app component renders correctly and whether we have specified an output:

it("renders without crashing", () => {
  shallow(<App />);
});

it("renders Account header", () => {
  const wrapper = shallow(<App />);
  const welcome = <h1>Display Active Users Account Details</h1>;
  expect(wrapper.contains(welcome)).toEqual(true);
});

In the test above, the first test, with shallow, checks to see whether our app component renders correctly without crashing. Remember that the shallow method renders only a single component, without child components.

The second test checks whether we have specified an h1 tag output of “Display Active User Account” in our app component, with a Jest matcher of toEqual.

Now, run the test:

npm run test 
/* OR */
npm test

The output in your terminal should like this:

  PASS  src/App.test.js
  √ renders without crashing (34ms)
  √ renders Account header (13ms)

Test Suites: 1 passed, 1 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        11.239s, estimated 16s
Ran all test suites related to changed files.

Watch Usage: Press w to show more.

As you can see, our test passed. It shows we have one test suite named App.test.js, with two successful tests when Jest ran. We’ll talk about snapshot testing later, and you will also get to see an example of a failed test.

Skipping Or Isolating A Test

Skipping or isolating a test means that when Jest runs, a specific marked test is not run.

it.skip("renders without crashing", () => {
  shallow(<App />);
});

it("renders Account header", () => {
  const wrapper = shallow(<App />);
  const header = <h1>Display Active Users Account Details</h1>;
  expect(wrapper.contains(header)).toEqual(true);
});

Our first test will be skipped because we’ve used the skip method to isolate the test. So, it will not run or make any changes to our test when Jest runs. Only the second one will run. You can also use it.only().

It’s a bit frustrating to make changes to a test file and then have to manually run npm test again. Jest has a nice feature called watch mode, which watches for file changes and runs tests accordingly. To run Jest in watch mode, you can run npm test -- --watch or jest --watch. I would also recommend leaving Jest running in the terminal window for the rest of this tutorial.

Mocking Function

A mock is a convincing duplicate of an object or module without any real inner workings. It might have a tiny bit of functionality, but compared to the real thing, it’s a mock. It can be created automatically by Jest or manually.

Why should we mock? Mocking reduces the number of dependencies — that is, the number of related files that have to be loaded and parsed when a test is run. So, using a lot of mocks makes tests execute more quickly.

Mock functions are also known as “spies”, because they let you spy on the behavior of a function that is called directly by some other code, rather than only testing the output.

There are two ways to mock a function: either by creating a mock function to use it in test code, or by writing a manual mock to override a module dependency.

Manual mocks ****are used to stub out functionality with mock data. For example, instead of accessing a remote resource, like a website or a database, you might want to create a manual mock that allows you to use fake data.

We will use a mock function in the next section.

Testing React Components

The section will combine all of the knowledge we have gained so far in understanding how to test React components. Testing involves making sure the output of a component hasn’t unexpectedly changed to something else. Constructing components in the right way is by far the most effective way to ensure successful testing.

One thing we can do is to test components props — specifically, testing whether props from one component are being passed to another. Jest and the Enzyme API allow us to create a mock function to simulate whether props are being passed between components.

We have to pass the user-account props from the main App component to the Account component. We need to give user-account details to Account in order to render the active account of users. This is where mocking comes in handy, enabling us to test our components with fake data.

Let’s create a mock for the user props:

const user = {
  name: "Adeneye David",
  email: "david@gmail.com",
  username: "Dave",
};

We have created a manual mock function in our test file and wrapped it around the components. Let’s say we are testing a large database of users. Accessing the database directly from our test file is not advisable. Instead, we create a mock function, which enables us to use fake data to test our component.

describe("", () => {
  it("accepts user account props", () => {
    const wrapper = mount(<Account user={user} />);
    expect(wrapper.props().user).toEqual(user);
  });
  it("contains users account email", () => {
    const wrapper = mount(<Account user={user} />);
    const value = wrapper.find("p").text();
    expect(value).toEqual("david@gmail.com");
  });
});

We have two tests above, and we use a describe layer, which takes the component being tested. By specifying the props and values that we expect to be passed by the test, we are able to proceed.

In the first test, we check whether the props that we passed to the mounted component equal the mock props that we created above.

For the second test, we pass the user props to the mounted Account component. Then, we check whether we can find the

element that corresponds to what we have in the Account component. When we run the test suite, you’ll see that the test runs successfully.

We can also test the state of our component. Let’s check whether the state of the error message is equal to null:

it("renders correctly with no error message", () => {
  const wrapper = mount();
  expect(wrapper.state("error")).toEqual(null);
});

In this test, we check whether the state of our component error is equal to null, using a toEqual() matcher. If there is an error message in our app, the test will fail when run.

In the next section, we will go through how to test React components with snapshot testing, another amazing technique.

Snapshot Testing

Snapshot testing captures the code of a component at a moment in time, in order to compare it to a reference snapshot file stored alongside the test. It is used to keep track of changes in an app’s UI.

The actual code representation of a snapshot is a JSON file, and this JSON contains a record of what the component looked like when the snapshot was made. During a test, Jest compares the contents of this JSON file to the output of the component during the test. If they match, the test passes; if they don’t, the test fails.

To convert an Enzyme wrapper to a format that is compatible with Jest snapshot testing, we have to install enzyme-to-json:

npm install --save-dev enzyme-to-json

Let’s create our snapshot test. When we run it the first time, the snapshot of that component’s code will be composed and saved in a new __snapshots__ folder in the src directory.

it("renders correctly", () => {
  const tree = shallow(<App />);
  expect(toJson(tree)).toMatchSnapshot();
});

When the test above runs successfully, the current UI component will be compared to the existing one.

Now, let’s run the test:

npm run test

When the test suite runs, a new snapshot will be generated and saved to the __snapshots__ folder. When we run a test subsequently, Jest will check whether the components match the snapshot.

As explained in the previous section, that shallow method from the Enzyme package is used to render a single component and nothing else. It doesn’t render child components. Rather, it gives us a nice way to isolate code and get better information when debugging. Another method, named mount, is used to render the full DOM, including the child components of the parent component, in which we are running the tests.

We can also update our snapshot, Let’s make some changes to our component in order to make our test fail, which will happen because the component no longer corresponds to what we have in the snapshot file. To do this, let’s change the

tag in our component from

Loading...

to

Fetching Users...

. When the test runs, this what we will get in the terminal:

 FAIL  src/App.test.js (30.696s)
  × renders correctly (44ms)

  ● renders correctly

    expect(received).toMatchSnapshot()
    Snapshot name: `renders correctly
1

    - Snapshot
    + Received

      
        

Display Active Users Account Details

- Loading... + Fetching Users...

7 | it("renders correctly", () => { 8 | const wrapper = shallow(); > 9 | expect(toJson(wrapper)).toMatchSnapshot(); | ^ 10 | }); 11 | 12 | /* it("renders without crashing", () => { at Object. (src/App.test.js:9:27) › 1 snapshot failed. Snapshot Summary › 1 snapshot failed from 1 test suite. Inspect your code changes or press `u` to update them. Test Suites: 1 failed, 1 total Tests: 1 failed, 1 total Snapshots: 1 failed, 1 total Time: 92.274s Ran all test suites related to changed files. Watch Usage: Press w to show more.

If we want our test to pass, we would either change the test to its previous state or update the snapshot file. In the command line, Jest provides instruction on how to update the snapshot. First, press w in the command line to show more, and then press u to update the snapshot.

› Press u to update failing snapshots.

When we press u to update the snapshot, the test will pass.

Conclusion

I hope you’ve enjoyed working through this tutorial. We’ve learned some Jest testing techniques using the Enzyme testing library. I’ve also introduced you to the process of running a test, testing React components, mocking, and snapshot testing. If you have any questions, you can leave them in the comments section below, and I’ll be happy to answer every one and work through any issues with you.

Resources And Further Reading

(ks, ra, il, al)

Categories: Others Tags:

Not All Traffic is Created Equally: Measuring The Importance of Traffic Sources & Setting UTMs

June 24th, 2020 No comments

There’s no shortage of ways in which you can generate traffic towards a website, and the list seems to be growing on a daily basis. For every new traffic generation method, there are thousands of fresh sources of traffic for businesses to tap into.

Plenty of people find themselves so caught up in focusing on new ways of generating traffic that they never get a chance to investigate their actual traffic sources. This can make for a significant mistake because a close look at traffic sources never fails to throw up a wide range of insights.

One of the most significant tools when it comes to providing traffic insights are known as UTMs. The name is an anagram of Urchin Tracking Modules, which may not clarify the job they do on the face of things but UTMs are capable of providing a wealth of information to Google Analytics.

But how can you quantify the role that traffic sources and UTMs could play for your client’s business? Can such traffic insights help to shape the entirety of client marketing campaigns? Let’s take a deeper look at the value behind measuring your traffic sources and setting UTMs for websites:

Learning From Data

The most reliable way of getting to know traffic data and its underlying analytics is through an appropriate website tracking platform. It’s only through a credible analytics platform that you can see accurate insights regarding traffic sources, keyword volumes, the number of pages viewed by visitors and the countries that bring the highest levels of traffic. These aspects of data are imperative when it comes to crafting the types of SEO campaigns that really strike a chord with customers and brings them valuable on-site experiences.

Most importantly, analytics help you to determine your conversion rates and better understand customers’ respective journeys in order to better optimize your processes. This way, it’s much easier to identify the drawbacks that prevent visitors from taking the desired actions on your clients’ websites.

Today, solid marketing is formed of actionable data and the preferences expressed by customers. Platforms like Google Analytics helps to provide businesses with a wealth of actionable data to analyze website performance and how it’s used among visitors in order to provide insights, grow traffic, and in turn improve visitor experience.

The range of metrics available on Google Analytics is one of the best cost efficient resources available website owners. Other platforms like Finteza and SEMrush are excellent in offering up intuitive levels of data alongside easy-to-follow visualizations and actionable analysis.

Understanding Your Customers

Website traffic provides invaluable insights into what your visitors do on webpages, as well as what they’re looking for and what actually caused them to convert.

Being aware of what people are typically looking for will pay dividends in helping your client’s business to improve its services and products online. With customer insights, you can construct buyer profiles for your potential customers and define your target personas by a range of metrics like age, geographical location, estimated salary, and personal interests.

With the right analytics platform, it’s possible to determine the location of most visitors online. Location demographics provide website owners with a list of countries that bring in more visitors. This acts as an excellent prompt in showing you exactly where and who to target in your marketing campaigns in order to fully tap into the most receptive traffic streams.

Acting On Your Errors

Tracking traffic also helps to identify potential on-site errors in your pages, like duplicate URLs, duplicate tags, web spam and incorrect URLs. These issues can severely undermine traffic volume and overall site performance.

Always keep on the lookout for fluctuations in traffic volume. If the rate of traffic suddenly drops, there could be a logical reason why. Drops in traffic could be fundamentally down to site hosting problems, 404 errors or slower website speeds. Getting to the bottom of these issues can help to maintain high levels of traffic and ensure that users stay on your pages for longer.

Many high-quality analytics platforms will offer the chance to send notifications on your dashboard whenever an issue with your site accessibility occurs. These notifications could relate to redundant hostnames, where your website is being sent data from different hostnames. You could also set your account up to receive notifications when there’s a drop in your website’s conversion rates.

Monitoring Performance

The likes of Google Analytics, Finteza and SEMrush are useful when it comes to monitoring the performance of your pages as well as your site traffic. When these two metrics combine it helps you to understand which traffic sources enjoy what content, as well as the pages that could be improved, and the ones that don’t seem to be finding much love from any traffic arriving from various sources.

Knowing what content will keep traffic on pages for longer on a website will help you to understand the kind of information that visitors are looking for. If you recognize that a certain source of traffic is enjoying content that focuses on, say, motoring, then you can optimize your content schedule to showcase more instances of this kind of article. You should also look to keep your web arrivals happy by adding easy to follow and relevant internal links into your posts that help boost other pages and content on your site.

By gaining insights on your worst performing pages, you can also benefit from learning about where improvements can be made. Such information can clarify how visitors are arriving and exiting poorly performing pages and where they’re coming from. If you’re spotting emerging trends, quickly act to adapt weaker pages or modify your content to suit the perceived needs of your arriving traffic based on where they’re coming from. It could be that your content is titled in a misleading way, or that your text isn’t what visitors were expecting when arriving from a specific backlink.

There are many reasons why bounce backs can occur. Conducting a content analysis on poorly performing pages can help you to identify which fixes could be needed to optimize your content.

Recognizing Your UTMs

One of the most effective ways of accurately monitoring your traffic sources is through the use of UTMs. Urchin Tracking Modules refer to the format that Google uses to track traffic driven to websites from a URL.

UTMs are seen as small structured sections of code at the end of a URL that’s used to drive traffic to the website in question. For example: https://your-website.com?utm_source=[facebook]

The level of information that UTM codes can bring to platforms like Google Analytics can’t be underestimated. Entire marketing campaigns can be crafted from the insights provided by UTMs, and campaign management teams should be looking at using UTMs for everything that’s posted online to see for themselves how likes, shares, and backlinks are pushing fresh traffic towards a client’s website.

UTMs are particularly effective at giving website owners an idea of how their social campaigns are performing. Here, you can see what form of social engagement is bringing in the most visitors, whether videos are prompting more interest or insightful images are performing better.

By learning what type of external activity is attracting visitors, it becomes much easier for businesses to optimize their social campaigns in order to draw in a steady flow of visitors from each source. Learning the type of language that creates the most engagements along with the level of personalization each post should carry means that you can optimize your social approach in a way that benefits a website long into the future.

Source

Categories: Designing, Others Tags:

WebP Image Support Coming to iOS 14

June 23rd, 2020 No comments

Apple announced a ton of new updates at yesterday’s WWDC20 keynote address, from new hardware to updated applications. There’s lots to gawk at and enough device-envy to go around.

But there’s one little line in the Safari 14 Beta release notes that caught my eye:

Added WebP image support.

???

This excites me because WebP is a super progressive format that encodes images in lossless and lossy formats that we get with other image formats we already use, like JPEG, but at a fraction of the file size. We use WebP right here at CSS-Tricks, thanks to Jetpack and its Site Accelerator feature that serves WebP versions of the images we upload to browsers that support them. Jeremy Wagner has a great write-up on WebP and how to work with it, specifically for WordPress.

So, yes, this means WebP will be largely supported across the board (:IE-sad-trombone:) once Safari 14 ships.

This browser support data is from Caniuse, which has more detail. A number indicates that browser supports the feature at that version and up.

Desktop

Chrome Firefox IE Edge Safari
32 65 No 18 No

Mobile / Tablet

Android Chrome Android Firefox Android iOS Safari
81 68 4.2-4.3 No

Even with that great support, defining fallbacks with the element is still a good idea.

<picture>
  <source srcset="img/cat.webp" type="image/webp">
  <source srcset="img/cat.jpg" type="image/jpeg"> 
  <img src="img/cat.jpg" alt="Alt Text!">
</picture>

Oh, and not to be completely overshadowed, Safari 14 also squeezes in some CSS goodies, like the :is() and :where() pseudo class functions, which we linked up a couple of weeks ago. Jen Simmons picked out other key features we should be excited about.

Safari 14 Beta Release Notes
• Added WebP
• Changed to derive aspect ratio from size attributes
• Added :is()
• Added :where()
• Safari no longer supports Flash
• Added Safari Web Extensions
• Added Webpage Translation (Beta)

& much more: https://t.co/qO2Cy7rK4A

— Jen Simmons (@jensimmons) June 22, 2020

Direct Link to ArticlePermalink

The post WebP Image Support Coming to iOS 14 appeared first on CSS-Tricks.

Categories: Designing, Others Tags:

Let’s Make a Multi-Thumb Slider That Calculates The Width Between Thumbs

June 23rd, 2020 No comments

HTML has an , which is, you could argue, the simplest type of proportion slider. Wherever the thumb of that slider ends up could represent a proportion of whatever is before and whatever is after it (using the value and max attributes). Getting fancier, it’s possible to build a multi-thumb slider. But we’ve got another thing in mind today… a proportion slider with multiple thumbs, and sections that cannot overlap.

Here’s what we’ll be building today:

CodePen Embed Fallback

This is a slider, but not just any slider. It’s a proportion slider. Its various sections must all add up to 100% and the user can adjust the different sections in it.

Why would you need such a thing ?

Maybe you want to build a budget app where a slider like this would consist of your various planned expenses:

I needed something like this to make an anime movie suggestions platform. While researching UX patterns, I noticed that other anime movie suggestion websites have this sort of thing where you select tags to get movie recommendations. That’s cool and all, but how much cooler would it be to add weight to those tags so that recommendations for a tag with a larger weight are prioritized over other tags with lighter weights. I looked around for other ideas, but didn’t find much.

So I built this! And believe it or not, making it is not that complicated. Let me take you through the steps.

The static slider

We’ll be building this in React and TypeScript. That’s not required though. The concepts should port to vanilla JavaScript or any other framework.

Let’s make this slider using dynamic data for the start. We’ll keep the different sections in a variable array with the name and color of each section.

const _tags = [
  {
    name: "Action",
    color: "red"
  },
  {
    name: "Romance",
    color: "purple"
  },
  {
    name: "Comedy",
    color: "orange"
  },
  {
    name: "Horror",
    color: "black"
  }
];

The width of each tag section is controlled by an array of percentages that add up to 100%. This is done by using the Array.Fill() method to initialize the state of each width:

const [widths, setWidths] = useState<number[]>(new Array(_tags.length).fill(100 / _tags.length))

Next, we’ll create a component to render a single tag section:

interface TagSectionProps {
  name: string
  color: string
  width: number
}


const TagSection = ({ name, color, width }: TagSectionProps) => {
  return <div
    className='tag'
    style={{ ...styles.tag, background: color, width: width + '%' }}
>
    <span style={styles.tagText}>{name}</span>
   <div
     style={styles.sliderButton}
     className='slider-button'>        
     <img src={"https://assets.codepen.io/576444/slider-arrows.svg"} height={'30%'} />
    </div>
  </div >
}

Then we’ll render all of the sections by mapping through the _tags array and return the TagSection component we created above:

const TagSlider = () => {
  const [widths, setWidths] = useState<number[]>((new Array(_tags.length).fill(100 / _tags.length)))
  return <div
    style={{
      width: '100%',
      display: 'flex'
    }}>
    {
    _tags.map((tag, index) => <TagSection
      width={widths[index]}
      key={index}
      name={tag.name}
      color={tag.color}
    />)
    }
  </div>
}

To make rounded borders and hide the last slider button, let’s the :first-of-type and :last-of-type pseudo-selectors in CSS:

.tag:first-of-type {
  border-radius: 50px 0px 0px 50px;
}
.tag:last-of-type {
  border-radius: 0px 50px 50px 0px;
}
.tag:last-of-type>.slider-button {
  display:none !important;
}

Here’s where we are so far. Note the slider handles don’t do anything yet! We’ll get to that next.

CodePen Embed Fallback

Adjustable slider sections

We want the slider sections to adjust move when the slider buttons are dragged with either a mouse cursor or touch, We’ll do that by making sure the section width changes correspond to how much the slider buttons have been dragged. That requires us to answer a few questions:

  1. How do we get the cursor position when the slider button is clicked?
  2. How do we get the cursor position while the slider button is being dragged?
  3. How can we make the width of the tag section correspond to how much the tag section button has been dragged ?

One by one…

How do we get the cursor position when the slider button is clicked?

Let’s add an onSliderSelect event handler to the TagSectionProps interface:

interface TagSectionProps {
  name: string;
  color: string;
  width: number;
  onSliderSelect: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
}

The onSliderSelect event handler is attached to the onPointerDown event of the TagSection component:

const TagSection = ({
  name,
  color,
  width,
  onSliderSelect // Highlight
}: TagSectionProps) => {
  return (
    <div
      className="tag"
      style={{
        ...styles.tag,
        background: color,
        width: width + "%"
        }}
    >
      <span style={styles.tagText}>{name}</span>
      <span style={{ ...styles.tagText, fontSize: 12 }}>{width + "%"}</span>
  
      <div
        style={styles.sliderButton}
        onPointerDown={onSliderSelect}
        className="slider-button"
      >
      <img src={"https://animesonar.com/slider-arrows.svg"} height={"30%"} />
      </div>
    </div>
  );
};

We use onPointerDown instead of onMouseDown to catch both mouse and touch screen events. Here’s more information about that.

We’re using e.pageX in the onSliderSelect prop function to get the cursor’s position when the slider’s button has been clicked:

<TagSection
  width={widths[index]}
  key={index}
  name={tag.name}
  onSliderSelect={(e) => {
    const startDragX = e.pageX;
  }}
/>

One down!

How do we get the cursor position while the slider button is being dragged?

Now we need to add an event listener to listen for the drag events, pointermove and touchmove. We’ll use these events to cover mouse cursor and touch movements. The section widths need to stop updating once the user’s finger raises from the screen (thus ending the drag):

window.addEventListener("pointermove", resize);
window.addEventListener("touchmove", resize);


const removeEventListener = () => {
  window.removeEventListener("pointermove", resize);
  window.removeEventListener("touchmove", resize);
}


const handleEventUp = (e: Event) => {
  e.preventDefault();
  document.body.style.cursor = "initial";
  removeEventListener();
}


window.addEventListener("touchend", handleEventUp);
window.addEventListener("pointerup", handleEventUp);

The resize function gives the X coordinate of the cursor while the slider button is being dragged:

const resize = (e: MouseEvent & TouchEvent) => {
  e.preventDefault();
  const endDragX = e.touches ? e.touches[0].pageX : e.pageX
}

When the resize function is triggered by a touch event, e.touches is an array value — otherwise, it’s null, in which case endDragX takes the value of e.pageX.

How can we make the width of the tag section correspond to how much the tag section button has been dragged?

To change the width percentages of the various tag sections, let’s get the distance the cursor moves in relation to the entire width of the slider as a percentage. From there, we’ll assign that value to the tag section.

First, we need to get the refof TagSlider using React’s useRef hook:

const TagSlider = () => {
const TagSliderRef = useRef<HTMLDivElement>(null);
  // TagSlider
  return (
    <div
      ref={TagSliderRef}
// ...

Now let’s figure out the width of the slider by using its reference to get the offsetWidth property, which returns the layout width of an element as an integer:

onSliderSelect={(e) => {
  e.preventDefault();
  document.body.style.cursor = 'ew-resize';


  const startDragX = e.pageX;
  const sliderWidth = TagSliderRef.current.offsetWidth;
}};

Then we calculate the percentage distance the cursor moved relative to the entire slider:

const getPercentage = (containerWidth: number, distanceMoved: number) => {
  return (distanceMoved / containerWidth) * 100;
};


const resize = (e: MouseEvent & TouchEvent) => {
  e.preventDefault();
  const endDragX = e.touches ? e.touches[0].pageX : e.pageX;
  const distanceMoved = endDragX - startDragX;
  const percentageMoved = getPercentage(sliderWidth, distanceMoved);
}

Finally, we can assign the newly calculated section width to its index on the _widths state variable:

const percentageMoved = getPercentage(sliderWidth, distanceMoved);
const _widths = widths.slice();
const prevPercentage = _widths[index];
const newPercentage = prevPercentage + percentageMoved


_widths[index] = newPercentage;
setWidths(_widths);

But this isn’t the end! The other sections aren’t changing widths and the percentages can wind up being negative or adding up to more than 100%. Not to mention, the sum of all section widths isn’t always equal to 100% because we haven’t applied a restriction that prevents the overall percentage from changing.

CodePen Embed Fallback

Fixing up the other sections

Let’s make sure the width of one section changes when the section next to it changes.

const nextSectionNewPercentage = percentageMoved < 0 
  ? _widths[nextSectionIndex] + Math.abs(percentageMoved)
  : _widths[nextSectionIndex] - Math.abs(percentageMoved)

This has the effect of reducing the width of the neighboring section if the section increases and vice-versa. We can even shorten it:

const nextSectionNewPercentage = _widths[nextSectionIndex] - percentageMoved

Adjusting a section percentage should only affect its neighbor to the right. This means that the maximum value of a given section maximum percentage should be its width plus the width of its neighbor width when it’s allowed to take up the entire neighbor’s space.

We can make that happen by calculating a maximum percentage value:

const maxPercent = widths[index] + widths[index+1]

To prevent negative width values, let’s restrict the widths to values greater than zero but less than the max percentage:

const limitNumberWithinRange = (value: number, min: number, max: number):number => {
  return Math.min(Math.max(value,min),max)
}

The limitNumberWithinRange function both prevents negative values and instances where the sum of sections results ina value higher than the maximum percentage. (Hat tip to this StavkOverflow thread.)

We can use this function for the width of the current section and its neighbor:

const currentSectionWidth = limitNumberWithinRange(newPercentage, 0, maxPercent)
_widths[index] = currentSectionWidth


const nextSectionWidth = limitNumberWithinRange(nextSectionNewPercentage, 0, maxPercent);
_widths[nextSectionIndex] = nextSectionWidth;

Extra touches

Right now, the slider calculates the width of each section as a percentage of the entire container to some crazy decimal. That’s super precise, but not exactly useful for this sort of UI. If we want to work with whole numbers instead of decimals, we can do something like this:

const nearestN = (N: number, number: number) => Math.ceil(number / N) * N;
const percentageMoved = nearestN(1, getPercentage(sliderWidth, distanceMoved))

This function approximates the second parameter’s value to the nearest N (specified by the first parameter). Setting N to 1 like the this example has the effect of making the percentage change in whole numbers instead of tiny incremental decimals.

Another nice to touch is consider additional handling for sections with a zero percentage value. Those should probably be removed from the slider altogether since they no longer take up any proportion of the overall width. We can stop listening for events on those sections:

if (tags.length > 2) {
  if (_widths[index] === 0) {
     _widths[nextSectionIndex] = maxPercent;
    _widths.splice(index, 1);
    setTags(tags.filter((t, i) => i !== index));
    removeEventListener();
  }
  if (_widths[nextSectionIndex] === 0) {
    _widths[index] = maxPercent;
    _widths.splice(nextSectionIndex, 1);
    setTags(tags.filter((t, i) => i !== nextSectionIndex));
    removeEventListener();
  }
}

Voila!

Here’s the final slider:

CodePen Embed Fallback

The post Let’s Make a Multi-Thumb Slider That Calculates The Width Between Thumbs appeared first on CSS-Tricks.

Categories: Designing, Others Tags:

10 Creative Banner Ideas for Inspiration

June 23rd, 2020 No comments
Billboard

You worked hard for your website and your brand’s social media presence. Now it is time to get the attention of your potential clientele and make an impact.

A banner is the first thing your audience sees when they open your website or visit your social media profiles. That’s exactly why creating a kick-ass banner is a must-have and a great way to build a winning first impression, grab your audience’s attention, and deliver your brand image and message.

Social media banners and web banners are not so hard to create but to provoke engagement you have to do it the right way. All you need to do is to combine your creativity with a solid intent of showcasing your brand image.

Before we dive into the inspiration full of eye-catching banners, here are a few tips to guide you when you are working on your banner ideas.

Don’t complicate things

Banners visually represent your business and help you to stand out from the crowd. You have to put some thought into your omnipresent social media banners to show professionalism and deliver your message.

So don’t just use a random photo that looks good. Every business and brand is different so you would know better what will work on your audience. But some characteristics can be applied to every kind of business. These are being consistent, simple, and to the point. Regardless of your style and niche, overwhelming your audience with cluttered and chaotic designs would not do any good for your business. Yet, that doesn’t mean you can’t be simple and intriguing at the same time.

Having a consistent style would help your audience to make the connection and build a more reliable image on their head.

Use your banners to entice your audience

If you have an upcoming webinar, a product launch, a special discount, or an upcoming event, turn your banner into an announcement and promote them through your banners. Putting up a banner that promotes your upcoming events and special discounts or collaborations would lead to a much bigger audience and increase your participation rate.

Emphasize your brand colors and test different banner ideas

Using your brand colors and including your logo will grab your audience’s attention and again it builds credibility and familiarity in their heads so they would trust your brand more.

Last but not least, definitely test different versions. Create a few alternatives and see which fits the best for your business and brand. Don’t be afraid to use try different banner ideas to gain perspective on the ideal one for your brand.

We’ve put together our top banner ideas that will help you create your next design:

knotch twitter banner
Knotch
DJI twitter banner
DJI
canva twitter banner
Canva
bluehost twitter banner
Bluehost
D&AD facebook banner
D&AD
uber eats facebook banner
Uber Eats
brandingmag facebook banner
Brandingmag
veritasium youtube banner
Veritasium
mango street youtube banner
Mango Street
taulia youtube banner
Taulia

There you have it. We hope these banner ideas gave you inspiration and help you create effective and engaging banners.

What do you think? Share your thoughts in the comments below and let us know your banner design best practices.

Categories: Others Tags:

7 Deadly Sins Of Landing Page Design That Sabotaging Your Results

June 23rd, 2020 No comments

There is no surprise to know that 44% of B2B clicks are focusing on making a perfect landing page design which could attract their potential customers directly on their home pages instead of dedicated landing pages. Have you ever thought about their impacts and results?

That’s the biggest problem of most of the start-ups and people who are looking to become an entrepreneur, but they don’t understand the landing page relevance and accuracy which are the major ingredients of your content & marketing campaign quality score.

Sometimes it happens that people send paid traffic to unoptimized landing pages that decline the possibilities of getting a high conversion rate. These mistakes might force you to work twice and hard just for a minimal return.

Here are the few deadly sins that you may commit in relation to making landing pages. By understanding these issues, you can effectively work on it and track the frequency of your workflows to get the results you deserve.

1. Incompetent Webpage Speed

These days, if you observe, you may feel that approx. 90% of your visitors like to see only what they exactly want. An ideal web page speed should be under 3 seconds, but if your webpage takes time to load your site, around 76% of people will be bailing definitely. If you have any e-commerce or online store website then working on website speed could lead you to cover over half of the traffic to bounce.

What to do to response such mistakes

Testing webpage speed

There are so many tools which can help you to respond to your problem well. Use of Pingdom or Google PageSpeed Insights can assist you to check the reasons and root causes of loading webpage speed. These tools will help you to realize specific fixes that may help you to optimize web page speed.

Optimize Redirect Process Where Possible

You should use 301 redirects IS in a user-friendly manner. Try to download Screaming Frog application to dump it in your URL. it will help you to highlight redirects and optimize redirect pointing which occasionally occurs as the sites evolve while redesigning.

You can minimize, resize and compress the images to reduce the substantial impacts having on loading times of webpages.

2. Cluttered Design

Cluttering design of landing pages is another mistake usually done by entrepreneurs. There are around 48% landing pages that contain multiple offers for users, even approximately 16% of landing pages are optimized without navigation bars. According to Tim Ash, author of the best and amazing selling books – landing pages optimization and CEO of SiteTuners, if there is any company focused on managing landing pages, they remove navigation bars and see 100% notice improvement.

For instance, one of the effective and best books known as “Don’t Make Me Think”, with the name it is already clear what it is all about. In this book, the author has mentioned that the landing pages should be clear, well-organized and optimized. Users should focus on “only one” action and make sure your visitors know exactly what you want to make them know.

In the above images, you can see and observe that the primary headline is big and bold, there is only one click button which helps your users to know what you actually want them to know and there is no more navigation for distraction away from the website. It helps you to scan the reliability of your landing page, measure the traffic flow logically and make you the best landing page agency.

3. Limp Headlines

Great headlines might make your content look attractive which could help you to retain existing customers plus attract more traffic on your website.

Bit, what if there is no option when you realize you are giving limp headlines and content to your target audience?

According to Tim Ash, Limp Headline may reduce the possibility and high traffic by 14% per cent, it creates difficulties for you to retain more visitors more than 5-10 seconds. But if you have an implementation of good practises of ideal headlines, these kinds of landing pages which contain good and appropriate contents expectedly summarize the critical value proportion of customer turnover. Limp headlines may reduce the percentage of visitors to scrolling up through their news feed and declines popping up in the email boxes.

So, what can be done in this case?

Understanding the expectation and choices of your target audience is more important, first thing, your title should be matched to the entire content you have written under it.

For example, when you go to the website of BuzzFeed, you will check into the landing page how much easy and generic headline content they frame to take its advantages in getting their clients and visitors retained.

For more respective knowledge, you can see how the similar and easier headline templates pop up on the landing pages of HubSpot.

4. Irrelevant Visuals

Stock Photos from different sources are very bad. Images and infographics pasted in your landing pages should be relevant and matched to your content, not just because they are ridiculously overrated or overpriced, but also they won’t work.

If you haven’t used any real photographs or images instead of an unnecessary dummy collection, the traffic of your website or landing page could be dropped.

For the best results, the visualised images can be helpful for your landing pages in the following ways:

  • Show off your product and services in use or in context.
  • You should try to show real visual examples related to the product and services of what they are going to get.
  • Show the before and after Transformation
  • While mentioning services try to show before and after results of your service.

If your photographs and images are not real and original, you will not be able to give powerful statements to your visitors and target audience through landing pages.

One of the top authentic brands Lululemon will be a good example of this:

There is a small quote to show the product details, and they are showing the product in the context of use, which shows excellent things about the product. These landing pages design shows originality, high quality and high visual photography that helps users to find their own product to purchase very easily.

The ebook landing page from AdEspresso always uses simple and easy illustrations to show their target audience what they are actually looking for, they enter all required information in the context use, it increases perceived values by boosting credibility.

5. Generic Calls to Action

Another problem with a landing page is envy call to action. Lack of proper CTA may reduce the traffic on your landing page.

Let’s suppose, your competitor has just received an eBook request twice as many downloads as many eBooks they have published. As you are also desperate for the leads and counteract by launching a campaign with CTAs with groundbreaking eBook. When your hopeful visitors click on the landing page and then instead of seeing filling out the form to request CTA, not only you will lose your credibility but also your money if they come to your site through a PPC click ad. The major reason behind this is lack of consistency. If your landing page doesn’t offer consistency, your visitors will fail to track landing page performance which can reduce traffic and online business reach.

6. Multiple Offers on the Page

Giving multiple offers to your customers and target audience may keep them confused or distracted. Lust is one of another sin of intense desire. If your landing page shows multiple offers then could be a big distraction for your visitors. If you think like a customer, then you will realize that your visitor will be interested only in one thing. If you present multiple things before them, it can be difficult for them to opt one thing out of them which can reduce the visitors’ traffic because in that case, they will find other options for them. Offering a maximum of more than two pieces of content and offers may reduce the risk of confusing the customers.

7. Too Many forms to fill

Customers always want original, genuine and authenticated content, so you need to take care of numbers and length of your landing page forms. It should be qualified and easy to fill. If you forget such things then customers can lose their patience and interest.

If you want to get any piece of information about your visitors to convert your leads, you need to figure out the golden rules of the successful landing page forms: less field = more downloads = more leads. Always try to ask for necessary information only whenever it is required.

What to do in the end?

A landing page cannot be judged as a good and perfect landing page if you are not able to present something good before your target audience. Even a good landing page cannot get a response without visitors would not stick around long enough to check it out. So, it is better to focus on presenting a high convertible landing page before your customers. Review and follow the aforementioned points to make your landing page effective and attractive enough to retain potential customers.


Icon vector created by rawpixel.com – www.freepik.com

Categories: Others Tags:

7 Deadly Sins Of Landing Page Design That Sabotaging Your Results

June 23rd, 2020 No comments

There is no surprise to know that 44% of B2B clicks are focusing on making a perfect landing page design which could attract their potential customers directly on their home pages instead of dedicated landing pages. Have you ever thought about their impacts and results?

That’s the biggest problem of most of the start-ups and people who are looking to become an entrepreneur, but they don’t understand the landing page relevance and accuracy which are the major ingredients of your content & marketing campaign quality score.

Sometimes it happens that people send paid traffic to unoptimized landing pages that decline the possibilities of getting a high conversion rate. These mistakes might force you to work twice and hard just for a minimal return.

Here are the few deadly sins that you may commit in relation to making landing pages. By understanding these issues, you can effectively work on it and track the frequency of your workflows to get the results you deserve.

1. Incompetent Webpage Speed

These days, if you observe, you may feel that approx. 90% of your visitors like to see only what they exactly want. An ideal web page speed should be under 3 seconds, but if your webpage takes time to load your site, around 76% of people will be bailing definitely. If you have any e-commerce or online store website then working on website speed could lead you to cover over half of the traffic to bounce.

What to do to response such mistakes

Testing webpage speed

There are so many tools which can help you to respond to your problem well. Use of Pingdom or Google PageSpeed Insights can assist you to check the reasons and root causes of loading webpage speed. These tools will help you to realize specific fixes that may help you to optimize web page speed.

Optimize Redirect Process Where Possible

You should use 301 redirects IS in a user-friendly manner. Try to download Screaming Frog application to dump it in your URL. it will help you to highlight redirects and optimize redirect pointing which occasionally occurs as the sites evolve while redesigning.

You can minimize, resize and compress the images to reduce the substantial impacts having on loading times of webpages.

2. Cluttered Design

Cluttering design of landing pages is another mistake usually done by entrepreneurs. There are around 48% landing pages that contain multiple offers for users, even approximately 16% of landing pages are optimized without navigation bars. According to Tim Ash, author of the best and amazing selling books – landing pages optimization and CEO of SiteTuners, if there is any company focused on managing landing pages, they remove navigation bars and see 100% notice improvement.

For instance, one of the effective and best books known as “Don’t Make Me Think”, with the name it is already clear what it is all about. In this book, the author has mentioned that the landing pages should be clear, well-organized and optimized. Users should focus on “only one” action and make sure your visitors know exactly what you want to make them know.

In the above images, you can see and observe that the primary headline is big and bold, there is only one click button which helps your users to know what you actually want them to know and there is no more navigation for distraction away from the website. It helps you to scan the reliability of your landing page, measure the traffic flow logically and make you the best landing page agency.

3. Limp Headlines

Great headlines might make your content look attractive which could help you to retain existing customers plus attract more traffic on your website.

Bit, what if there is no option when you realize you are giving limp headlines and content to your target audience?

According to Tim Ash, Limp Headline may reduce the possibility and high traffic by 14% per cent, it creates difficulties for you to retain more visitors more than 5-10 seconds. But if you have an implementation of good practises of ideal headlines, these kinds of landing pages which contain good and appropriate contents expectedly summarize the critical value proportion of customer turnover. Limp headlines may reduce the percentage of visitors to scrolling up through their news feed and declines popping up in the email boxes.

So, what can be done in this case?

Understanding the expectation and choices of your target audience is more important, first thing, your title should be matched to the entire content you have written under it.

For example, when you go to the website of BuzzFeed, you will check into the landing page how much easy and generic headline content they frame to take its advantages in getting their clients and visitors retained.

For more respective knowledge, you can see how the similar and easier headline templates pop up on the landing pages of HubSpot.

4. Irrelevant Visuals

Stock Photos from different sources are very bad. Images and infographics pasted in your landing pages should be relevant and matched to your content, not just because they are ridiculously overrated or overpriced, but also they won’t work.

If you haven’t used any real photographs or images instead of an unnecessary dummy collection, the traffic of your website or landing page could be dropped.

For the best results, the visualised images can be helpful for your landing pages in the following ways:

  • Show off your product and services in use or in context.
  • You should try to show real visual examples related to the product and services of what they are going to get.
  • Show the before and after Transformation
  • While mentioning services try to show before and after results of your service.

If your photographs and images are not real and original, you will not be able to give powerful statements to your visitors and target audience through landing pages.

One of the top authentic brands Lululemon will be a good example of this:

There is a small quote to show the product details, and they are showing the product in the context of use, which shows excellent things about the product. These landing pages design shows originality, high quality and high visual photography that helps users to find their own product to purchase very easily.

The ebook landing page from AdEspresso always uses simple and easy illustrations to show their target audience what they are actually looking for, they enter all required information in the context use, it increases perceived values by boosting credibility.

5. Generic Calls to Action

Another problem with a landing page is envy call to action. Lack of proper CTA may reduce the traffic on your landing page.

Let’s suppose, your competitor has just received an eBook request twice as many downloads as many eBooks they have published. As you are also desperate for the leads and counteract by launching a campaign with CTAs with groundbreaking eBook. When your hopeful visitors click on the landing page and then instead of seeing filling out the form to request CTA, not only you will lose your credibility but also your money if they come to your site through a PPC click ad. The major reason behind this is lack of consistency. If your landing page doesn’t offer consistency, your visitors will fail to track landing page performance which can reduce traffic and online business reach.

6. Multiple Offers on the Page

Giving multiple offers to your customers and target audience may keep them confused or distracted. Lust is one of another sin of intense desire. If your landing page shows multiple offers then could be a big distraction for your visitors. If you think like a customer, then you will realize that your visitor will be interested only in one thing. If you present multiple things before them, it can be difficult for them to opt one thing out of them which can reduce the visitors’ traffic because in that case, they will find other options for them. Offering a maximum of more than two pieces of content and offers may reduce the risk of confusing the customers.

7. Too Many forms to fill

Customers always want original, genuine and authenticated content, so you need to take care of numbers and length of your landing page forms. It should be qualified and easy to fill. If you forget such things then customers can lose their patience and interest.

If you want to get any piece of information about your visitors to convert your leads, you need to figure out the golden rules of the successful landing page forms: less field = more downloads = more leads. Always try to ask for necessary information only whenever it is required.

What to do in the end?

A landing page cannot be judged as a good and perfect landing page if you are not able to present something good before your target audience. Even a good landing page cannot get a response without visitors would not stick around long enough to check it out. So, it is better to focus on presenting a high convertible landing page before your customers. Review and follow the aforementioned points to make your landing page effective and attractive enough to retain potential customers.


Icon vector created by rawpixel.com – www.freepik.com

Categories: Others Tags:

PayPal Business Account Guide

June 23rd, 2020 No comments
paypal business account

Whether you’re on the hunt for a way to turn your hobby into a legitimate business or you’re a seasoned vendor looking to expand and grow, figuring out how to get paid in a way that’s quick, painless, and affordable is one of the most important operational problems you’ll need to solve.

Processing online payments, in particular, is especially critical. Over half of Americans now pay their bills online. And in early 2019, sales from online stores eclipsed those of general merchandise stores for the first time.

The good news is that just as e-commerce has revolutionized the way people buy and sell goods and services, it has also forever altered the way people conduct business online, with new solutions making accepting and processing payments easier and more frictionless than ever.

PayPal is far and away one of the pioneers in the space. Chances are, you’ve already used the online payment provider to make a purchase in the last few years.

What you might not know, however, is that the organization launched a merchant services wing in the early 2000s that not only gives business owners of all sizes the power to get paid faster and easier, but that also helps companies big and small grow and scale.

What is a PayPal business account?

PayPal is one of the most well-known online payment service providers (PSPs) in the world. A PayPal business account makes it fast and easy for businesses just getting started, as well as those that are more established, to accept and process credit card payments, debit card payments, and more in over 25 currencies and from over 200 countries.

Like competitors Square and Stripe, PayPal works by taking a small percentage of transactions made using their platform.

It’s also super simple for your customers to check out and make purchases via a PayPal business account. They don’t necessarily need to have a PayPal account themselves (they can do their shopping as a guest), and they can choose to pay via any of the following methods, both online or in person:

  • Credit cards
  • Debit cards
  • PayPal
  • Venmo
  • PayPal credit

The credit and debit cards PayPal business accounts accept

Credit cards accepted by PayPal business accounts Debit cards accepted by PayPal business accounts
Visa Visa
Mastercard Mastercard
American Express
Discover
JCB
Diner’s Club

Private label cards, like department store cards, and procurement cards aren’t accepted.

Debit cards that aren’t Visa or Mastercard and require a numeric password are also not accepted.

Thanks to PayPal’s history — it was acquired by eBay in its early days — it’s also generally regarded as one of the most robust PSP solutions for e-commerce businesses. It integrates with hundreds of commerce platforms, including both specialty online marketplaces like eBay and Swappa as well as custom online stores like WooCommerce and Magento.

And for those on-the-go or brick-and-mortar vendors that still primarily accept payments in person, a PayPal business account offers PayPal Here, which provides business owners with a mobile app and an assortment of card readers.

Beyond just solving the core operational problem of getting paid, however, a PayPal business account also helps business owners manage and scale their companies.

The PSP has expanded the services they offer over the years to include everything from a launch kit for newbies and shipping help for those that need to deliver products, to lending options for veterans looking to grow their career opportunities and even reporting for those that want to better understand where they’re succeeding and where they have room to improve.

Types of PayPal business accounts

A PayPal business account comprises two overarching payments processing options for business owners:

PayPal Payments Standard. This basic PayPal business account account doesn’t charge a monthly maintenance fee and allows account holders to accept all of PayPal’s payment methods (except for payments made via phone, fax, or virtual terminal). It also includes the standard PayPal business account benefits, like toll-free phone support and simplified PCI compliance functionality.

PayPal Payments Standard is ideal for business owners just getting started as well as those who are more than happy with a no-frills checkout option on their website or via their e-commerce platform provider. Customers are taken to PayPal’s site to complete payment and returned to the business’s site afterward.

PayPal Payments Pro. A step up from its standard counterpart, PayPal Payments Pro includes all of the perks that come with the basic account as well as the ability to accept payments via phone, fax, or virtual terminal.

This account also gives business owners complete control over their checkout pages, which makes it ideal for those who really want to take their e-commerce site to the next level. Customers never leave the business’s site when making a payment.
Unlike PayPal Payments Standard, this option comes with a monthly maintenance fee of $30.

Additional PayPal business account merchant services

A PayPal business account also includes a suite of services beyond payment processing. Some of these are included in the accounts outlined above, like invoicing and eligibility for a PayPal debit card, but other features require an additional application process or development work.

PayPal Checkout. In a nutshell, PayPal Checkout adds Smart Payment Buttons to your e-commerce site that allow users to buy your goods and services with one click, bypassing a tedious order process that involves long, complicated forms. PayPal then provides you with the customer’s contact information and shipping address, if appropriate.

PayPal Business Loans and Working Capital. Cash flow is one of the primary problems a growing business faces. With PayPal Business Loans and Working Capital, the PSP makes it relatively simple for companies with a PayPal business account to get the funds they need to keep expanding.

PayPal Marketing Solutions. Like the complimentary invoicing, shipping, and debit card options that come with PayPal Payments Standard and Pro accounts, PayPal Marketing Solutions is baked into the offering. This valuable suite of features includes insights into how often your customers are shopping, how much they’re spending, and how they’re interacting with your checkout experience. To enable this service, all you have to do is copy and paste a snippet of code onto your website.

7 benefits of a PayPal business account that you should know about

No monthly maintenance payments

Far and away one of the best perks of a PayPal business account is that the standard account comes with absolutely zero monthly maintenance charges. That means that there’s no cost to sign up and start accessing all of the merchant services on offer.

There are also no setup or cancellation fees. You’ll only be charged when you actually start doing business (see the chapter on PayPal business account fees), which means you can spend your time — and your extra cash — on the other business services that matter.

Lightning fast setup

It takes as little as 15 minutes to get up and running with a PayPal business account. Since the registration process is completely digital, you can go through the quick and easy online steps wherever and whenever you want. There’s no waiting in line at the bank, and you won’t find yourself on the other end of a frustrating phone call that mostly consists of bad hold music.

Low barriers to entry

Unlike old-school merchant account providers that often come with complicated qualifying terms and heaps of paperwork, a PayPal business account merely requires some basic contact information and general details about your company. Anyone can sign up — a credit check isn’t necessary. You merely need to link a bank account in order to receive funds from your transactions.

Get paid online or in person, in the U.S. and from abroad

Another huge perk is that a PayPal business account is flexible when it comes to accepting payments. Customers can pay with major debit and credit cards as well as PayPal, Venmo, and PayPal Credit (they don’t even need a PayPal account). What’s more, people can make purchases online, in person, or even via invoicing. Finally, PayPal makes it possible to do business over borders and even across language barriers — it’s available in 25 currencies and across 200 countries.

Easy e-commerce integration

A PayPal business account syncs with hundreds of solution providers and shopping carts. Most major providers and even many of the smaller players have a simple option in their admin console where you can select the PayPal integration and enter your login details and relevant credentials — it’s that easy.

Get cash back with the PayPal business account debit card

Sick of all the dead-end debit cards that don’t give you any incentive to actually spend the hard-earned money you’re making? Then you’ll be happy to know about PayPal Business Debit Mastercard, which comes complimentary with an account (you just need to request the card) and gives you 1 percent cash back on eligible purchases.

You can use the card to immediately access all the funds in your PayPal account without having to transfer anything to your business bank account, whether you’re withdrawing from an ATM or making an in-store purchase (the card works anywhere that accepts Mastercard).

Leverage discounts for nonprofits and charities

The PayPal business account also offers special, cheaper transaction rates for registered 501(c)(3) organizations. The organization even has a ready-to-roll donate button that anyone doing fundraising can quickly and easily add to their website once they’ve created a PayPal business account.

As a bonus, PayPal has done the legwork to integrate with popular fundraising sites, like FundRazr, so that it’s easy to activate their services and start accepting the money you need.

Who needs a PayPal business account?

You may have heard stories about many casual sellers launching booming businesses from their personal PayPal accounts over the years. So it wouldn’t be surprising if you’re wondering what the difference is between a PayPal personal account and a business account — and why a sole proprietor or small business owner should consider opening one or the other.

In a nutshell, PayPal’s personal account is designed primarily for purchasing and sending money. All that’s required is for you to provide contact information and a verifiable bank account. On the flip side, while you can receive funds from other PayPal users, you won’t be able to accept as many types of payment, nor will you be able to extend access to your account to employees or colleagues or take advantage of business-targeted services such as PayPal Checkout or PayPal Marketing Solutions.

Paypal business account

In addition, opening a separate PayPal business account will prevent you from mixing up personal purchases with business expenses and personal monetary gifts from business revenues. If you’ve gambled on being able to track everything through your personal account and your side business suddenly takes off, you’ll spend hours extricating personal transactions from business transactions at tax time, and the stakes for making a mistake could be high.

Since phasing out its Personal Premier accounts, PayPal’s business account has become the most sensible account option for even the smallest businesses, including freelancers and small-scale artisans. Nearly anyone who plans to collect revenue or distribute money for business purposes will benefit from opting for a business account rather than a personal account.

From increased access to a variety of payment options, to customer support, to analytics and tracking, the business account is designed to help your small business grow into a mid-sized business. And for a $30 monthly fee, PayPal Payments Pro is ready to help you grow further with scalable benefits and services.

Here are a few types of businesses that can benefit from a PayPal business account.

Freelancers and entrepreneurs with a sole proprietorship

PayPal suggests using a business account if you operate a revenue-generating endeavor under a separate name — for example, if you’ve set up an LLC. However, there are legitimate reasons why successful freelancers and sole proprietors might want to consider opening a business account even if they haven’t yet registered a formal business and chosen a company structure.

PayPal business accounts allow you to integrate your payment systems with their payout system to create a seamless accounting system you can use to easily monitor sales and profits as well as expenses. Opening a separate PayPal business account will make it easier to calculate profits and expenses when it comes time to file taxes.

One of the most compelling reasons freelancers may want to consider using a PayPal business account is that it can expedite payments from clients, with transactions often taking only minutes. Even for artisans or vendors who do business in person, frequenting craft fairs, farmers markets, and flea markets, a business account provides integrated swiping, online payment, and credit card processing systems, and even tracks receipts for you (you just need to activate PayPal Here).

The risks for opening an account are low since there are no startup, termination, or monthly fees. As far as transaction charges are concerned, they are the same whether you receive payment through a personal account or a business account.

Moonlighters and side hustlers

If you’re trying to transform a passion into a profit-making business, using your free time to raise income through a side hustle, or looking to get a business off the ground while still working long hours in a more conventional staff position, you likely don’t have much spare time to devote to bookkeeping.

So it’s unlikely you have the time to untangle information from a personal PayPal account. Separating personal monetary gifts from customer transactions and personal purchases from business-related expenses at tax time is likely to be confusing, frustrating, and a waste of time.

With no upfront or monthly fees, setting up a separate PayPal business account, or adding one if you already have a personal account with PayPal, is a sensible solution for hard-working, aspiring entrepreneurs who still have one foot in the wage-earning world.

The PayPal Payments Standard account will track customer receipts for products or services purchased, as well expenses paid to contractors you hire or products you purchase to get your new business up and running.

By keeping your business and personal accounts separate, you spare yourself the confusion and tediousness of sifting through transactions to determine which are personal and which are related to your side business.

Vendors on eBay and Etsy

Originally acquired by eBay back in 2002 before it spun off to go it alone again in 2015, PayPal was once the go-to system for transactions on the popular online marketplace.

That said, if you’re asking yourself, “Do I need a PayPal account to sell on eBay?” the answer is technically no. It’s possible to opt into eBay’s Managed Payments service, which allows you to receive funds directly into your bank account.

However, PayPal remains the simpler and faster of eBay’s accepted payment options, which means that those who currently use PayPal don’t need to do anything to receive customer payments through their PayPal business accounts and can, as was the case before, expect a super seamless experience that’s incredibly safe and efficient.

So while you don’t necessarily need a PayPal business account to sell on eBay, it can simplify your operations.

Similarly, if you’re a creative who’s created a nice little cottage industry hawking your inventions and projects on Etsy, you’ll be happy to hear that PayPal is an automatic option if you’re using Etsy Payments. And even if you’re not, you can easily configure your payment settings to accept PayPal payments.

Small businesses (SMBs) and startups with an LLC

If you’ve set up a limited liability company (LLC) for your small businesses to protect your personal assets, opening a PayPal business account can extend your customer base and deliver more marketing value.

According to data collected by comScore, customers complete 88 percent of initiated checkouts on PayPal. Consumers using other digital wallets failed to purchase items they’d saved to shopping carts 44.7 percent of the time.

And PayPal’s mobile payment options can expand the viability of small businesses, allowing them to keep up with a growing digital marketplace. (In 2019 nearly 80 percent of consumers reported using a mobile device to make a purchase.)

If your company upgrades to PayPal Payments Pro, your customers can remain on your website to complete transactions on your own dedicated payment page with your branding. When your customers don’t have to leave your site to make a payment, they’re more likely to continue shopping.

Corporations

PayPal business accounts allow access to up to 200 employees. You can set a variety of access levels to protect your customers’ privacy and your business interests. PayPal also allows you to set up a separate email for customer service issues.

PayPal business accounts include setup support and business consulting, including customer analytics, with a range of benefits and enhancements at the Payments Pro level that are designed to scale to your business as it grows.

PayPal can accept payments in 25 forms of currency and from more than 200 countries. You can also use PayPal to set up subscriptions and other forms of interval payment, as well as customized invoicing.

The standard amount you can transfer in a single transaction is $10,000, but you can increase this limit by contacting PayPal and providing certain verification information. Though PayPal aims its services at small and mid-size companies, several large online retailers use PayPal as a payment option for their customers, and for businesses that rely on a high volume of payments of less than $10 each, PayPal offers a special micropayment fee structure.

If your business has the good fortune to generate large amounts of income through sales, then PayPal’s per-transaction processing fees can add up quickly. In this case, you may need to look for another online transaction solution that offers a flat rate or work with PayPal to create an individualized fee structure. The PSP has stated that they’re committed to scaling their products to grow their customer base.

PayPal isn’t designed for businesses that rely on frequent large transfers of cash from vendors to other business partners.

PayPal business accounts for nonprofit organizations

PayPal has become an important part of the nonprofit landscape, with more than 1 million users donating over $106 million via PayPal on GivingTuesday 2019 alone. Those donations, like all donations made in December 2019, were augmented by 10 percent from the PayPal Giving Fund. The rest of the year, PayPal’s Giving Fund kicks in 1 percent on every donation toward whatever verifiable 501(c)(3) charities users designate.

PayPal’s low costs, relatively fast transactions, reputation for reliability and security, and vast pool of users can all be leveraged to fuel charitable fundraising. In many cases, donation dollars show up in your organization’s account within minutes. From there, you can transfer money to your organization’s bank account at no charge. More than 600,000 nonprofits already receive funds through PayPal.

Fees for nonprofits

Registered charities with 501(c)(3) status pay a reduced per-transaction rate of 2.2 percent plus 30 cents for U.S.-based donations, and 3.7 percent plus a fixed fee for international donations.

Donor tracking and access

Creating a PayPal business account and enrolling in their Giving Fund can help your organization tap into the payment platform’s growing segment of donors, including the 8 million users who donated to charities in 2017.

What’s more, monthly statements and searches allow you to easily track and leverage donor information. There are also options that allow donors to sign up for recurring monthly donations.

According to a survey conducted in 2014, 28 percent of PayPal charitable donors said they wouldn’t have made their donations if PayPal hadn’t been among the payment options.

Secure donor transactions from anywhere

Using PayPal Here, you can accept payments onsite at fundraisers using a mobile device. With a standard account, your nonprofit organization can get, at no extra charge, up to five basic credit card-reading attachments (though more advanced card readers with additional security are recommended for nonprofits that expect higher volume donations) or three chip and swipe readers that can be used with a smartphone or tablet.

The information donors provide at the point of sale can be automatically integrated into your donor contact list. And you can help keep this information secure by setting user permissions so that volunteers and employees can complete only specific tasks.

PayPal has also partnered with a variety of national and international applications and online resources aimed at the not-for-profit sector, which means that enrolling in their solutions for nonprofits can extend your reach to donors throughout the world.

Services and benefits

Like all PayPal business accounts, nonprofits can access free, seven-day-a-week customer support. Your organization will be eligible for a PayPal Business Debit Mastercard, which allows you to earn 1 percent cash back on expenses.

Even if you opt not to open a PayPal business account, you can enroll in the PayPal Giving Fund, giving potential donors the opportunity to allocate funds to your organization using eBay, Go Fund Me, Humble Bundle, and other online applications when they purchase items using PayPal. Once you’re enrolled, the PayPal Giving Fund will manage tax receipts for your donors automatically.

Nonprofit partnerships

PayPal has partnered with some of the most recognized platforms in the nonprofit sector to expand the reach of nonprofits to online donors, including the digital transaction solution Paperless Transactions, the online fundraising platform FundRazr, fundraiser management software provider Classy, marketing and constituent engagement system BlackBaud, donor management and fundraising software Network for Good, and eBay.

Each of these solutions allows you to set up PayPal as your preferred transaction provider and integrates your business account into their platform for easy use by staff, volunteers, and donors.

PayPal business account requirements

Among the advantages of a PayPal business account are the relatively few requirements and the absence of up-front fees. There are no minimum capital or sales volume requirements either, making it an attainable next step for sole proprietors or small businesses looking to extend their range and increase their clients’ payment options.

Getting started: What you’ll need to open a PayPal business account

If you don’t have a separate bank account for your business, you should consider setting up one before you set up a PayPal business account.

You can use your personal account, but it’s best to have at least two bank accounts as you begin your entrepreneurial endeavors on PayPal — one personal and one for your business. This will make it much easier to track payments and business expenses, complete your taxes, and gauge your business’s rate of growth.

Once you have both your personal and business bank accounts in place, you can sign up for a PayPal business account in a few simple steps.

As with a PayPal personal account, you’ll need to confirm your email address, provide contact information, and provide account information for the bank account where you’d like the money to be deposited; a designated business banking account is recommended but not required.

You’ll need to provide a business name that will appear on customer invoices. And you’ll be asked to describe the type of business you have by selecting from a dropdown list:

  • Individual/sole proprietorship
  • Partnership
  • Corporation
  • Nonprofit organization
  • Government entity

Depending on your business type, you may be asked for additional information, such as product or service keywords, monthly sales, website, and employer identification number. However, there are no wrong answers; you merely need to provide the information.

Finally, you’ll need to provide customer service contact information, which for a sole proprietor is likely to be you.

The costs of a personal and a standard, or first-level, business account are identical. Neither has startup or monthly fees, and both have identical transaction fees.

Frequently asked questions about PayPal business accounts

Do you have to be a U.S. citizen to open a PayPal business account?

In accordance with the 2010 Foreign Account Tax Compliance Act (FATCA), users opening a business account may need to provide tax documents and other verifying information to prove that they are a U.S. citizen or a non-U.S. citizen who is properly paying taxes on any monies collected or earned in the United States or from U.S. citizens.

In addition, to comply with FATCA, PayPal reviews personal accounts frequently, and when discrepancies are found, will request documentation of citizenry or lawful U.S. taxpayer status from account holders.

Is there a minimum income required to open a PayPal business account?

There is no minimum income or sales volume required to open a business account. However, to be eligible for PayPal Working Capital, you need to have a business account up and running for 90 days and process at least $15,000 in a 12-month period.

PayPal business account fees

If you want to start using PayPal for your business, it’s important to understand the PayPal business account fees associated with standard transactions and accepted payments online and in store.

Most important, there are no initial costs to get started or monthly costs attached to a standard PayPal business account. There are no termination fees either. Using a standard PayPal business account is best for businesses that want to save on fees and enjoy some flexibility.

If you want to offer a more robust customized and integrated shopping cart and checkout experience for your customers online, you may want to consider upgrading to a PayPal Payments Pro account. It costs $30 per month, along with the standard transaction fees.

PayPal business account transaction fees are only applied when you sell products or services and accept payments online or in store. Your business pays a standard transaction fee based on the percentage of the total transaction amount and the fixed fee of the currency for the respective country. Below is a breakdown of the percentages and fixed fees for online and in-store transactions in the U.S.

Transaction types Percentage of total transaction amount Fixed fee amount
Online 2.9% $0.30 USD
In-store 2.7% no fee

If you’re selling online or in store internationally, the percentage of the standard transaction amount increases slightly, and the fixed fee amount based on the local currency still applies to your total fees. Here’s a breakdown of the transaction percentages and fixed fees you might expect if doing business in Mexico:

Transaction types Percentage of total transaction amount Fixed fee amount
Online* 4.4% 4.00 Mexican Peso
In-store 4.2% no fee

*International sales made online incur an additional 3-percent currency conversion charge and a 1.5 percent charge for receiving a payment from a different country.

Your PayPal business account fees will vary according to the country you’re selling to and accepting payments from. This list of the countries and their currencies will help you calculate the fixed fee amount for your total transaction fees when selling products/services and accepting payments abroad.

Acceptable forms of payment include Venmo, PayPal Credit, PayPal payments, and all major credit and debit cards with PayPal Checkout and PayPal Payments Standard.

Reduced transaction fees for nonprofit organizations and charities

If you’re a nonprofit organization with 501(c)(3) status, you’ll pay reduced fees for credit card, debit card, or PayPal donation payments in the U.S. and internationally. Here are the transaction fees and fixed fees for a nonprofit organization:

Location Percentage of total transaction amount Fixed fee amount
U.S. 2.2% $0.30 USD
Internationally 3.7% varies by country

To qualify your PayPal business account for discounted transaction fees, you must verify your nonprofit organization’s charity status by providing your employer identification number (EIN) and proof of the nonprofit bank account linked to the PayPal account via bank statement or a voided check.

Other PayPal business account fees

Apart from the standard transaction fees attached to a PayPal business account, there are several add-on features that may or may not cost you. Here are some possibilities:

Service type Location Percentage of total transaction amount Fixed fee amount
Online invoice creation (doesn’t include fees associated with paying the invoice) U.S. or International No fee no fee
Micropayments* U.S. 5.0% $0.05 USD
Micropayments International 6.5% varies by country**
PayPal Payments Pro
($30 USD monthly fee)
U.S. 2.9%, plus 3.5% per transaction if using an American Express card $0.30 USD
PayPal Payments Pro

($30 USD monthly fee)

International 4.4% per transaction, plus 3.5% per transaction if using an American Express card varies by country***
Virtual Terminal

($30 USD monthly fee)

U.S. 3.1% per transaction, plus 3.5% per transaction if using an American Express card $0.30 USD
Virtual Terminal

($30 USD monthly fee)

International 4.6% per transaction, plus 3.5% per transaction if using an American Express card varies by country***
Mobile Card Reader Swipe and check-ins in the U.S. 2.7% per transaction no fee
Mobile Card Reader Key or scan in the U.S. 3.5% + $0.15 per transaction no fee
Mobile Card Reader Swiped non-U.S. cards 2.7% per swipe 1.5% cross-border fee and/or 2.5% currency conversion fee

*Micropayments are transactions less than $10.

**Click here for micropayment fixed fee amounts by country.

***Click here for PayPal Payments Pro and Virtual Terminal fixed fee amounts by country.

PayPal bank account transfer fees and options

Transferring money to your bank account is easy as long as you have a U.S. PayPal account already set up and linked to your bank account. This transfer can be done through a personal or business PayPal account, and there are two options to consider:

  1. A standard transfer
  2. An instant transfer

Zero-cost Standard Transfers

If you’ve linked a bank account to your PayPal business or personal account, then you don’t have to pay a transfer fee. Transfers typically take one to three business days to be deposited. If you opt to complete a transfer on a weekend or holiday, it may take slightly longer for the money to show up in your account.

Costs for Instant Transfers

With Instant Transfers, you can transfer money from your business or personal account to your bank account or debit card in a matter of minutes. Keep in mind that transfers can take up to 30 minutes depending on your bank, and you do have to pay an additional fee for this service. The cost to use Instant Transfer is 1 percent of the total amount you transferred, up to a maximum fee of $10.

Eligibility requirements for transfers

Both standard and Instant Transfers require a linked and eligible bank account. Your bank is eligible if it’s part of the Clearing House Real Time Payments program. If you’re transferring funds to a linked debit card using Instant Transfer, your debit card must be a Visa or Mastercard to be eligible.

You can transfer to whichever linked account (bank or debit card) that you choose. Keep in mind that there could be a delay in your transfer if it’s subject to review, submitted after 7 p.m. Eastern time, and on weekends or holidays.

PayPal business account vs personal account withdrawal limits

If your business chooses to use Instant Transfer for your PayPal business account, there are withdrawal limits based on account type. Check out the withdrawal limits below:

Withdrawal limit type Withdrawal limit amount Business account or bank
By transaction $50,000 business account
By transaction $25,000 bank
By day $100,000 business account
By week $250,000 business account
By month $500,000 business account

If you want to use Instant Transfer for your PayPal personal account, below are the withdrawal limits on your debit card and bank:

Withdrawal limit type Withdrawal limit amount Personal debit card or bank
By transaction $5,000 debit card
By transaction $25,000 bank
By day $5,000 debit card
By week $5,000 debit card
By month $15,000 debit card

PayPal business account fees vs personal account fees

Opening a PayPal business account or personal account is free, unless you choose to upgrade your account. There are no startup costs, termination fees, or monthly maintenance fees for the standard version of these accounts.

The main difference between the two are the transaction fees. A business account will incur charges based on standard transaction fees and fixed fees from selling products or services online or in-store.

A personal account, on the other hand, charges transaction and fixed fees in the U.S. and internationally when you receive money from someone who uses a credit card, debit card or PayPay Credit. A personal account won’t charge fees if you receive money from someone using a linked bank account, PayPal Cash, or a balance from PayPal Cash Plus.

Payment method Location Fees Fixed fee amount
PayPal Cash or PayPal Cash Plus U.S. waived none
Credit card, debit card, or PayPal Credit U.S. 2.9% of the total amount $0.30 USD
PayPal balance or linked bank account International 5% of the amount sent, from $0.99–$4.99 USD none
Credit card, debit card, or PayPal Credit International 5% of the amount sent, from $0.99–$4.99 USD, plus 2.9% of the transaction amount from a specific payment method varies by country

Also, transferring your money to your bank from a business account or a personal account is typically free, unless you use Instant Transfer. In this case, the withdrawal limits differ depending on whether you have a business account or a personal account.

The cost to buy in the U.S., however, is always free for either account type.

Frequently asked questions about PayPal business account fees

How much does it cost to start using my PayPal business account?

It’s completely free to get started. There are no startup costs, monthly fees, or termination fees.

What are the minimum fees I should expect to pay for my PayPal business account?

You should expect to pay the standard transaction fees for online and in-store transactions in the U.S. and internationally, and any fixed fees for the respective country. Find out more from the breakdown of costs above.

When doing business internationally, are there currency conversion costs involved?

Yes. You will be charged an additional 3 percent for currency conversions and a 1.5 percent fee if you receive payments from a different country.

How much does it cost to transfer money from my PayPal business account or personal account to my bank or debit card?

For a standard transfer, there are no costs. For Instant Transfers, which can give you access to your funds in as little as 30 minutes, the cost is 1 percent of the total amount you transferred, up to a maximum fee of $10. Keep in mind that there are withdrawal limits for your business account and personal account if you’re using Instant Transfer.

How to set up a PayPal business account

Ready to start accepting payments for your business with a PayPal business account? You can get up and running in just a few easy steps. Here is a step-by-step guide to help.

Setting up a PayPal business account

Ready to start accepting payments for your business with a PayPal business account? You can get up and running in just a few easy steps. Here is a step-by-step guide to help.

Setting up a PayPal business account

  1. First, make sure you have an email set up with PayPal. If not, click Sign Up to get started. Remember, signing up for a PayPal personal or PayPal business account is free.
  2. Signup to PayPal screen

  3. Next, you’ll be asked what type of account you want to set up. Select Business Account and click Next.
  4. selecting business account

  5. On the next screen, you’ll be asked to enter the email address you want to use to set up your PayPal business account. Enter the email you want to use, and then click Continue.
  6. entering email address in the sign up for a business account screen

  7. After you enter the email address, create a password. Your password must be at least eight characters and contain at least one number and symbol.
  8. creating password for your PayPal business account
  9. After you set up a password that meets the requirements, you’ll be taken to a screen that says, Tell us about your business. Here, you’ll provide more information about your business, such as the business contact’s name, the business name, and the business address.
  10. You’ll also be asked to agree to an E-communication Delivery Policy, a User Agreement, and a Privacy Statement. Once you’ve read through these documents and are ready to continue, check the box and click Agree and Create Account.

    providing more information about your business in the "tell us about your business" screen
  11. On the next screen, you’ll be asked to describe what type of business you have. You can select from a dropdown list. Depending on the business type, you may be asked for additional information, such as product or service keywords, monthly sales, website, and employer identification number.
  12. selecting your business type in "describe your business" screen
    "describe your business" modal
    "PayPal Business Debit Mastercard" offer

    Based on the information you give, you may be asked if you want to receive a PayPal Business Debit Mastercard, which allows you to quickly and easily access money in your PayPal account much in the same way you would access money from a typical bank account.

    This card has no annual fee once you’ve received at least $250 in payments. You can use the card balance anywhere that has the Mastercard logo and get 1 percent cash back each month on select purchases.

    Click on the box if you would like to receive this account offer, or unclick it if you don’t want it, and then click Continue.

  13. Next, you’ll be asked to provide some personal information to set up your account, including the last four digits of your social security number, your birth date, and your home address. PayPal won’t perform a credit check based on this information. After you’ve added all of your personal information, click Submit.
  14. "tell us more about you" screen
  15. Once you’ve submitted your information, your PayPal business account is set up and ready to use. You’ll be taken to a page to select from a range of features you can use for your account.
  16. For example, you can request or send money, send an invoice, set up recurring payments for your business, or take advantage of services like PayPal Checkout to accept payments online. You can also set up your account to accept card reader payments if you’re mobile, in store, or using the PayPal Here sales tracker app.

    Finally, you can connect to an online marketplace with PayPal already built in to accept payments that way.

    "welcome to your PayPal business account" screen

How to upgrade or downgrade a PayPal business account

Upgrading to a PayPal business account is beneficial for e-commerce businesses that want to customize and enhance the shopping and checkout experiences for their customers. You can upgrade your personal account to a business account in just three easy steps. However, it can take a bit longer to downgrade your business account to a personal account because this has to be done manually.

Upgrading to a PayPal business account

If you prefer, you can have multiple PayPal accounts: a personal and a business account, but you have to use unique emails for each account.

If you’d like to use your PayPal personal account email to upgrade to a PayPal business account, follow these steps:

  1. On the login page, select Sign Up, choose the Business Account option, and then click Next. After you complete your personal account login information, you’ll be asked if you want to switch your current personal account to a business account. Select Use your current email to switch to a business account, and then click Next.
  2. selecting the email address you want to use with your business account
  3. On the next page, you’ll be asked to fill out your business information and then agree to the terms and conditions.
  4. "upgrade to a business account" screen
  5. Once you’ve done this, you’ll go through the same steps as in the How to set up a PayPal Business account section.

Upgrade PayPal business account options

There are two primary PayPal business accounts to choose from. One is free, and one charges a monthly fee.

Standard

This account is free, accepts all major credit card and debit card payments, accepts PayPal payments, and allows customers to pay over time if they choose. There is no monthly fee.

Payments Pro

This account has a monthly fee of $30. PayPal Payments Pro includes all the features of a standard account but allows you to customize your customer’s checkout experience and to integrate with your established shopping cart.

Downgrading a PayPal business account

If you’d like to convert your PayPal business account to a personal account, you’ll need to contact a PayPal customer service representative directly. Changing your PayPal business account to a personal account can only be done manually.

How to delete and close a PayPal business account

There are plenty of reasons you might delete and close your PayPal business account. For example, if

  • Your account has been compromised and must be shut down to protect your information
  • You’re no longer in business and don’t plan to use the account anymore
  • You want to create a new account with a different email address
  • You want to use a different business account

Whatever the reason, you can delete and close your account in just a few easy steps.

  1. The first step is logging into your account and transferring any remaining balances from your PayPal business account to your bank. If you request a check, you’ll be charged a processing fee of $1.50.
  2. Next, download any data you want to keep. For example, you may want to download your transaction history from the Activity tab or your financial statements and summaries from the Reports tab. Once you delete and close your account, you won’t be able to access this information anymore. Make sure to download anything you don’t want to lose.
  3. Once you’ve transferred any remaining funds to your bank and downloaded the data you want to keep, click on the gear icon on the far right-hand corner and choose Account Settings from the dropdown menu.
  4. Account Settings button at the top right under Gear icon
  5. On the Account Settings page, there will be three options under the Account & Security menu on the left-hand corner. Click on Account preferences.
  6. Account preferences under "account & security" tab
  7. At the bottom, where it says Account type, click the Close account link. Once you click on this link, you’ll be redirected to a page that informs you that closing your account is final and that all your history will be lost. If you agree to these terms, click Continue.
  8. "Close account" screen
  9. Finally, you’ll be asked to provide up to three reasons why you’re closing your account. Once you’ve made your selections and added any comments, click Continue.
  10. "reason for closing account" screen
  11. PayPal will ask you to confirm that you’re closing your business account one last time. If you’re certain this is what you want to do, click Confirm, and your business account will officially be deleted and closed. You’ll no longer be able to access it.
  12. "Contact Us" screen
  13. Within the next 24 hours, you should receive a confirmation email from PayPal that says your account has been permanently deleted and closed.

How to use JotForm to sell products and collect payments

Now you have all the facts, and perhaps you’ve settled on a PayPal business account as your PSP. Maybe you’ve set up your account, and you’re ready to start watching your bottom line grow.

Alternatively, you may still be deliberating or comparing options. Regardless of where you are in the decision-making process, it’s important to remember that having the power to collect payments is only one small piece of the puzzle.

sell product and collect payments

Another critical element is creating the infrastructure that will allow you to effectively market and sell your products and subscriptions, or collect donations and raise money online. This may feel especially intimidating if you’re not particularly web savvy.

Similarly, if you’re a microbusiness with limited resources or a nonprofit that’s always battling against time, you may not have much time to spare setting up an e-commerce site or learning the ins and outs of website development and design.

The good news is that JotForm offers a form building solution that makes it as easy to sell products as PayPal makes it to collect payments. The even better news is that you can create a PayPal payment form with JotForm, so it’s incredibly simple to get your goods in the hands of your customers and get paid!

This option is particularly useful for charities and organizations accepting donations, anyone putting on events, order-based businesses, DIY entrepreneurs, and even professional services providers. Truth be told, any business — big or small — can use JotForm’s easy online Form Builder to create order forms, recurring subscription forms, membership forms, and more in only a couple of clicks.

Then it’s just a matter of selecting either the appropriate PayPal Personal, PayPal Business, or PayPal Invoicing option from the Form Elements section in the JotForm Form Builder and completing the steps that follow.

JotForm not only makes it a snap to start selling your goods and services, but the uber popular form builder also doesn’t charge any extra transaction fees. PayPal’s standard fees apply as normal. The only fees you pay JotForm are for your account, unless you’re on a free plan.

And if that’s not enough to pique your interest, here are a few other great reasons to consider using a JotForm-PayPal business account integration to start selling and collecting payments:

  1. It’s flexible. JotForm gives you the ability to collect everything from payments for products with a specific price to recurring subscriptions to custom donation amounts.
  2. It comes at no cost. Not only does JotForm forego charging any additional transaction fees, the platform also offers a free account option that gives users the opportunity to accept 10 payments per month on the house. If you plan on accepting more, you can opt for any of the other JotForm plans.
  3. It’s as easy as 1-2-3. Anyone and everyone can use JotForm’s drag-and-drop Form Builder to put together nearly any kind of form. It’s beyond simple.
  4. No technical expertise needed. No code know-how required. You don’t need development knowledge to use JotForm, and thanks to the platform’s super robust Help section, even if you do run into a problem, there are resources and support available to give you the guidance you need.
  5. Thousands of templates. Among their 10,000 form templates, JotForm has templates made just for PayPal.
  6. End-to-end customization. From adding your own branding to uploading an image to make your form look friendlier, JotForm’s Form Builder makes it a breeze to customize templates. And if you do have some engineering skills, you can even add CSS to create the kind of forms your customers or donors will love.
  7. PCI compliance. When the risk of cyberattacks and fraud seem to be increasing daily, customers want to know your website is secure. JotForm provides both your business and the people supporting it with the highest level of security protection.
Categories: Others Tags:

7 Handy Tips When Selling Website Projects

June 23rd, 2020 No comments
Sell Website Projects

The following seven tips I have discovered myself over the last two decades in selling website projects. They have really helped me out in my digital marketing agency, and I hope you find value in at least one of them yourself.

If you aren’t in the web design business, don’t despair. Whilst it may seem to be very digital or web heavy, these tips can actually be applied in just about any product or service sales situation.

So without further ado, let’s get into my key hints on selling website projects.

Sell people and technology

When you first start speaking with a website prospect, they are obviously after a solution and to know that you have the technical capabilities to do the work. However, anyone can learn to use tools and many can master a development language. You need to ensure that you sell yourself, or if you have a team, your people as well.

I’m not talking in an egocentric way, however, you need to ensure that the prospect knows that you are more than competent to do the project at hand. Since you will be working closely together, they really need to understand, like, and trust you and your team.

Remember you could possibly (if things go right!) be working with them for a number of years, so you’ve got to learn to sell you and your team as much as selling your product or services.

Be genuine and yourself

When you leave your personal life in the morning and head to work, you don’t leave your personality at home, do you? You need to be confident enough to be able to be real and genuine, in front of your prospects, team and your clients. People are actually very good at sensing when someone is being fake, and they will judge you harshly for that within a heartbeat.

You want to spend your life ideally being genuine with the people you deal with, and be honestly interested in how you can help their businesses with your services, rather than how you can make wheelbarrow loads of money.

In response, people will be able to sense you are genuine and caring, and they are going to see that you’re really trying to be of benefit and of service to them and their businesses.

Always be in their shoes

I don’t mean literally – clients get real funny about you trying to wear their shoes. What I do mean is that when you are out there, attracting new customers and selling website projects, you should always work to be empathetic with your prospects and clients, and further, you should work hard to understand their perspectives and pre-empt their decisions where possible.

By putting yourself in their shoes, you will come to realize that they’re potentially making a really big investment in you and your business, and that this is based purely on trust and what you have told them.

You want to place yourself in your clients shoes and be empathetic towards their situation. If your prospect seems a touch fearful or hesitant to be involved, you’ll help them feel comfortable by using terms like ‘we’ and ‘us’ as a way to show that there is implicit teamwork between the two of you.

Don’t bamboozle them

I have plenty of clients who love to bust out acronyms and show off the technical levels of knowledge they have. They (mostly) get it right, when they state user experience, mySQL, rollback to last revision, blah blah. Yet, on the other hand, the majority of my customers wouldn’t know a table from a database or a TLS, DNS, etc, and that’s absolutely fine.

Just like I don’t understand the knowledge my medical clients have, for example, and wouldn’t attempt even light surgery on myself or a friend. These clients come to you because you can speak the geek languages that they can’t.

Especially if this is their first website project. I doubt that they have any idea what is ahead of them, how they are going to be involved, and are generally scared or intimidated with words like MySQL, CSS, UI, PHP IDE’s, or any of the other multitude of three-letter acronyms.

When you are selling website projects, you should focus on getting a good understanding of their technical level, and don’t exceed it, unless they ask. When I ask a signwriter to make a sign for my building, I don’t want to know what rating the vinyl lettering is – I just want them to do it. So don’t bamboozle your prospects.

Repeat their desires

When you’re in a meeting with a prospect or a client, you want to be always collecting and confirming information. A good way from a sales perspective to do this, is during your call or meeting, write down the key phrases that you hear them repeating or are passionate about, and then make sure to reiterate them at the end of the telephone call or meeting.

For example, if they use words like modern and slick to describe their new designs which they desire, then when wrapping up your meeting, state phrases such as “In the next few days, I will get back to you with a proposal for us to create a modern and slick website for you that does X, Y and Z”.

It shows the recipient that you are good at active listening (believe it or not, there are sadly a high percentage of people out there who aren’t!) and that by reiterating what they want, you are subconsciously planting the idea to them that you are the right people for the job.

Brainstorm

These people are coming to you because website designers are creative, and naturally they have good thought processes. One of my favorite things to prove this to them, as well as understand their motivations and ideals more, is to do some informal brainstorming with them.

Say, for example, they are an accounting firm that just wants a brochure website. Start asking what their reception gets asked for a lot – perhaps it is tax preparation forms. Could we create a page that lists all of those, to save your staff time?

Maybe they could build a clients only library of many forms and articles, and make that a selling proposition for their clients. By being a client of XYZ Accounting, you get access to our private client information library, blah blah.

These brainstorm sessions often result in more work and a larger project for you (which equals larger budgets and profits, of course) but they also show to your prospect that you have the ability to think fast and come up with new, fresh ideas.

This is seriously one of the simplest ways that you can encourage a client to become excited about working with you, sharing new ideas, and talking about how you can both grow their business.

Always have a next step

At the conclusion of every meeting or phone call, have a clear next step that you both clearly understand.

You may have listened or engaged with your prospect for an hour or more, but the last thing that often happens is that one of you will say “I’ll get back to you” and then that’s it. Wrong! What you want to do is finish up with a ‘You will get your corporate identity design files over to us and by Thursday, I will send a written proposal and web design contract outlining all we discussed today.

Then what you want to do, to seal the deal, is ensure they state it as well and say they agree.

This simple method will really assist you in selling website projects. It is as simple as spotting the next steps and ensuring that you both understand them. Identify the requirements required by both sides, list them out, and give this all a deadline.

This all helps the prospect in feeling comfortable and you only got to ask yourself what would I search for if I used to be in their situation it’ll go an extended way now speaking of talking together with your clients and making them feel comfortable

In Summary

Embracing these seven tips will definitely improve your chances of success when you are out and about, selling website projects. Irrespective of the size or budget, these seven hints will come in handy.

Those seven hints again are;

  • Sell people and technology
  • Be genuine and yourself
  • Always be in their shoes
  • Don’t bamboozle them
  • Repeat their desires
  • Brainstorm
  • Always have a next step

All the best with finding and winning the website projects you love in the year ahead.

Image Credit: Pexels

Categories: Others Tags: