with the increasing popularity of Internet of Things (IoT) applications in many different areas, the round-trip delay of data processing in the cloud affect the user's quality perception. But fortunately, fog computing aims to service users at the network edge similar to cloud services, which helps in supporting IoT in processing the data near to the end-user, especially for time-sensitive applications. It makes the resource allocation of application placement requests in a fog environment more necessary to satisfy the Quality of Experience (QoE) Influence Factors (IFs). In this paper, an IoT application placement algorithm based on the Multi-Dimensional QoE (MD-QoE) model is proposed in a fog computing environment. The algorithm is composed of two main phases. The first phase is to prioritize different IoT application placement requests depending on three main domains of IFs which are: Environment runtime context, application usage, and user expectations considering the Quality of Service (QoS) violation as a feedback. The second phase is to map and place the request to the appropriate fog node instance, depending on its proximity, computing capabilities, and expected response time. The proposed algorithm is evaluated by simulating a fog environment using iFogSim. Experimental results indicate that the proposed algorithm significantly improves the QoE in respect of application placement time, application delay, network usage, and power consumption. Therefore, the proposed algorithm can improve the overall system performance with a slight increasing in power consumption in fog control nodes.