-
Notifications
You must be signed in to change notification settings - Fork 6
/
ch013_adding-subscribers-to-lists.xhtml
338 lines (338 loc) · 18.3 KB
/
ch013_adding-subscribers-to-lists.xhtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title/></head><body><h1>Adding Subscribers (to Lists)
</h1>
<p>There are three main ways to add subscribers to your phpList installation:
</p>
<ul><li>copy and paste a list of emails</li>
<li>upload a file with emails
<br/></li>
<li>upload a CSV file with emails and additional data. </li>
</ul><br/><img src="static/phpList_import_emails_8.png" alt="add subscribers phpList" height="406" width="477"/><br/><ul/><p>This chapter deals with each of these methods in three stages
</p>
<p>
</p>
<ul><li>When and why you might use the import method</li>
<li>Preparing your data</li>
<li>Importing your data </li>
</ul><h2>Why is (to lists) in brackets? 
</h2>
<p>It is important to remember that:
</p>
<p>
</p>
<ul><li>Subscribers can exist on the system without being a member of any list</li>
<li>In this chapter is assumed that you will be<em> </em>adding subscribers in the form of a list, but you can add them without making/choosing a list if you want to</li>
<li>When you add a subscriber to the system for the<em> first </em>time, a subscriber profile is created</li>
<li>Adding the subscriber to more lists does not create more profiles, all the subscriber details are saved in one profile no matter how many lists the subscriber is on</li>
<li>Deleting the list does not delete the subscribers.</li>
</ul><p>
</p>You can read the chapter about the difference between subscribers and lists for more information.
<br/><p>
</p>
<h2>Copy and pasting
</h2>
<h3>Why and when to use this method 
</h3>
<p>If your data is very simple, just a long list of emails in a paper or digital document, then this could be the method for you - especially if you are not very confident with file formats.
</p>
<p>If the emails are on paper then you could type them directly into the import dialogue, however, it is probably better to type them into a document first.
</p>
<p>This is also the method you will use when you create a new list from subscribers that are already on your system.
</p>
<h3>Preparing your data for this method
</h3>
<p>Preparation for copy and pasting the emails in is minimal. You may need to do nothing at all.
</p>
<p>If your emails are in a text file or a word-processing file, you need to open the file with the emails in, and make sure the data is just a list of emails, one on each line and with no punctuation.
</p>
<p> If your emails are in a spreadsheet or csv file you do not need to prepare them. However, if this is the first time you will be adding the subscribers to the system you may wish to use a csv import to allow you to add more of your data to their subscriber profiles.
</p>
<h3>Importing your data
<br/></h3>
<p>If your data set consists of a list of emails in a file, like this:
</p>
<p><img src="static/phpList_import_emails_1_1.png" alt="copy and paste emails into phpList" height="514" width="467"/> 
<br/></p>
<p>Or a complex data set in a spreadsheet like this, from which you only wish to upload the emails
</p>
<p><img src="static/phpList_import_emails_5.png" alt="copy and paste emails to phpList from a spreadsheet" height="325" width="753"/></p>
<p>Then first you need to select them in your document and copy them. This is often done by pressing:
</p>
<p>
</p>
<ul><li><strong>Control+C </strong>or</li>
<li><strong>Right click > Copy</strong> or</li>
<li><strong>Edit > Copy</strong>.</li>
</ul><p>
</p>
<p>Then go to <strong>Subscribers</strong> ><strong> Import emails</strong> from the main menu
<br/></p>
<p><img src="static/phpList_import_emails_7.png" alt="phpList import data" height="292" width="330"/> 
</p>
<p>Click the <strong>copy and paste list of emails</strong> button in phpList 
</p>
<p><img src="static/phpList_import_emails_9.png" alt="import data copy and paste" height="233" width="532"/> 
<br/></p>
<p> You will then see the following page: 
<br/></p>
<p><img src="static/phpList_import_emails_10.png" alt="import by cut and paste phpList" height="606" width="399"/></p>
<p>First choose a list by ticking the box next to the list name.
</p>
<p>You may also <strong>Add a list</strong>, or tick <strong>All Lists</strong>. Also, it is best to leave the<strong> Check to skip emails that are not valid box</strong> ticked. Next, paste your emails into the box, using 
</p>
<p>
</p>
<ul><li><strong>control+v</strong></li>
<li>Or <strong>right click</strong> and <strong>Paste</strong>. </li>
</ul><p>
</p>
<p><img src="static/phpList_import_emails_11.png" alt="ready to import phpList" height="460" width="454"/> 
<br/></p>
<p>Click the <strong>Import emails</strong> button.
</p>
<p>You will then see the results of your import.
</p>
<p><img src="static/phpList_import_emails_12.png" alt="results of import phpList" height="316" width="393"/> 
</p>
<h2>Upload a file with emails 
</h2>
<h3>Why and when to use this method 
</h3>
<p>If you have a digital list of emails with no other data, and you know how to save them as a text file, then this is the right method for you.
</p>
<p>If you have more than just emails in the file and you want to upload all of the information, you will need to use the CSV import.
<br/></p>
<h3>Preparing your data
</h3>
<h3>Your file needs to be formatted:
</h3>
<ul><li>One email per line</li>
<li>No spaces, tabs, commas etc. </li>
<li>You need to save it as plain text (filename.txt) </li>
<li>You should only edit it in a text editor such as NotePad, TextEdit or Geany.</li>
</ul><p><img src="static/phpList_import_emails_1_1.png" alt="emails upload phpList" height="514" width="467"/></p>
<p>It is still possible to import this data when there is additional information after the email, for example:
</p>
<p><em>[email protected] age 23 from Southport likes chips with curry sauce</em>
</p>
<p><em/>But, everything after the end of the email will be discarded. Additionally, if you have any punctuation attached to the end of the email, for example,
</p>
<p><em>[email protected], age 23 from Southport likes chips with curry sauce</em>
</p>
<p>then the data will be corrupted because the comma at the end of the email address will be imported as part of the email.
</p>
<h3>Importing your data
<br/></h3>
<p>Go to <strong>Subscribers</strong> ><strong> Import emails</strong> from the main menu
<br/></p>
<p><img src="static/phpList_import_emails_7.png" alt="import emails from main menu phpList" height="292" width="330"/> 
</p>
<p>Click <strong>Import by uploading a file with emails</strong>. 
<br/></p>
<p><img src="static/phpList_import_emails_13.png" alt="import by uploading a file of emails phpList" height="369" width="399"/></p>
<p>
</p>
<p>You will then see the <strong>Import Subscribers From Text File</strong> page. 
<br/></p>
<p>
</p>
<p><img src="static/phpList_import_emails_15.png" alt="import subscribers from a text file phpList" height="683" width="514"/></p>
<p>First choose a list by ticking the box next to the list name. You may also <strong>Add a list</strong>, or tick <strong>All Lists. </strong>Then select a file to upload by clicking the <strong>Browse... </strong>button. Navigate to the file on your computer and click <strong>Open</strong>. Then click the <strong>Import</strong> button. 
<br/></p>
<p> <img src="static/phpList_import_emails_14.png" alt="click import" height="471" width="489"/></p>
<p>You will see the emails importing.
</p>
<p><span>Upload a CSV file: emails and some additional information</span>
</p>
<h3>Why and when to use this method 
</h3>
<p>This is the method used when you have a spreadsheet full of data, where there might be names, emails, addresses... Often this data will have been exported from another source, such as a CMS, CRM, webshop, database or email address book. 
</p>
<p>If you have such data, it is a good idea to upload a CSV file the first time you add subscribers to the system and you are asked to make a list (even though you will only be prompted to copy and paste). From then on, unless you need to re-synchronise or add some new data, you can just use copy and paste to add subscribers to lists.
</p>
<h3>Preparing your data
<br/></h3>
<p>When you have emails and some additional information, such as Name and Gender, you need to
</p>
<ul><li>Open the data in a spreadsheet</li>
<li>Rename some columns to avoid or utilise phpList system values</li>
<li>Save as a csv - make a note of the delimiter.</li>
</ul><ul/><h4>Example Dataset for CSV Import
</h4>
<p>In this example we have ID, title, first name, email address, height in cm and gender, and they are stored in a spreadsheet format (xls, ods or similar).
</p>
<p><img src="static/phpList_import_emails_5.png" alt="csv import phpList example data" height="325" width="753"/></p>
<h4>Data that includes an ID
</h4>
<p>When you use another application, a blog, webstore, CRM software etc, you may want to keep the data in phpList synchronized with the data in your other app.
</p>
<p>phpList allows you to do this accurately by using a <strong>foreign key:</strong> this means that the ID tag or number used to identify an individual in your other application can also be used to identify a the subscriber in phpList. This means that:
</p>
<ul><li>If a subscriber's email address changes in your other app, this can be updated in phpList
<br/></li>
<li>Any changes to subscriber attributes can be updated automatically, for example surname, location, date of last purchase form your store.</li>
</ul><p>If you wish to use the ID as a foreign key you should rename the column ID (or similar) to <strong>foreign key.</strong>
</p>
<h4>Renaming columns to avoid phpList system values
</h4>
<p>Some words are already used by phpList to describe data: these are called phpList <strong>system values</strong>. phpList will not allow you to import data from columns in your CSV when certain system values are used as a column title. These columns will simply be <strong>skipped</strong> when you try to import.
</p>
<p> It is common for other software and web applications to use the same system values. Columns must be renamed before the data exported from one app can be imported into phpList. Here are some examples (a full list can be found later in the chapter):
</p>
<ul><li>ID
<br/></li>
<li>confirmed</li>
<li>passwordchanged   </li>
</ul><p>
</p>
<h4>Renaming columns to match phpList system values
</h4>
<p>Some columns can be renamed to <em>match</em> phpList system values, because those system values are designed to take imported data.
</p>
<p>In the example below we rename the column <strong>Email address</strong> to <strong>Email.</strong> It is possible to achieve the same thing during import by mapping one term to another.
</p>
<p><img src="static/phpList_import_emails_3.png" alt="email import phpList column title" height="241" width="470"/></p>
<p>
</p>
<p>As another example, the<strong> ID</strong> column can be renamed to <strong>Foreign Key</strong>. This allows the data to be put to use in phpList when otherwise it would just be skipped. In this case, phpList would not allow you to map ID to Foreign key during import so this task must be done before upload. 
</p>
<p>
</p>
<p>
</p>
<p><img src="static/phpList_import_emails_6.png" alt="phpList foreign key" height="291" width="706"/></p>
<p>
</p>
<p>
</p>
<h4> A list of system values 
</h4>
<p>Here is a table containing a list of all the system values and how phpList will deal with columns with that name if you try and import them. 
</p>
<p>
</p>
<table cellpadding="5"><caption>List of system values and how phpList will respond if they are column names.</caption><tbody><tr><td>id</td>
<td>Will be skipped</td>
</tr><tr><td>email</td>
<td>Will import</td>
</tr><tr><td>confirmed</td>
<td>Will be skipped</td>
</tr><tr><td>blacklisted</td>
<td>Will be skipped</td>
</tr><tr><td>optedin</td>
<td>Will import</td>
</tr><tr><td>bouncecount</td>
<td>Will be skipped</td>
</tr><tr><td>entered</td>
<td>Will be skipped </td>
</tr><tr><td>modified</td>
<td>Will be skipped</td>
</tr><tr><td>uniqid </td>
<td>Will be skipped</td>
</tr><tr><td>htmlemail</td>
<td>Will import</td>
</tr><tr><td>subscribepage</td>
<td>Will be skipped</td>
</tr><tr><td>rssfrequency</td>
<td>Will be skipped</td>
</tr><tr><td>password</td>
<td>Will import</td>
</tr><tr><td>passwordchanged</td>
<td>Will be skipped</td>
</tr><tr><td>disabled</td>
<td>Will import</td>
</tr><tr><td>extradata</td>
<td>Will import (as attribute)</td>
</tr><tr><td>foreignkey</td>
<td>Will import</td>
</tr><tr><td>unique_1 (2, 3 etc) or index_1 (2, 3 etc)</td>
<td>Will be skipped</td>
</tr><tr/></tbody></table> 
<p>
</p>
<p><strong>Saving the file</strong>
</p>
<p>Next we need to save the file as a <strong>CSV</strong> file, a comma separated value file. You should <em>ideally</em> change the delimiter to tab. If it is not tab, you will at least need to be aware of what the delimiter is so you can tell phpList when you import.
</p>
<h2>Importing the subscribers
<br/></h2>
<p>First go to <strong>Subscribers</strong> ><strong> Import emails</strong> from the main menu.
<br/></p>
<p><img src="static/phpList_import_emails_7.png" alt="main menu import phpList" height="292" width="330"/></p>
<p>
</p>
<p>Click the final option for <strong>import by uploading a CSV file with emails and additional data</strong>.
<br/></p>
<p><img src="static/phpList_import_emails_16.png" alt="import using csv file phpList" height="338" width="469"/> 
<br/></p>
<p>
</p>
<p>You will then see the <strong>Import Subscribers From CSV Page</strong>.
</p>
<p><img src="static/phpList_import_emails_17.png" alt="import csv page phpList" height="403" width="396"/></p>
<p>First choose a list by ticking the box next to it. You may also choose <strong>All Lists</strong> or <strong>Add a list</strong>.
</p>
<p><img src="static/phpList_import_emails_18.png" alt="newsletter checked" height="98" width="242"/></p>
<p>Next upload your CSV file by clicking <strong>Browse...</strong>, choosing the file on your pc and clicking <strong>Save</strong>.
<br/></p>
<p><img src="static/phpList_import_emails_19.png" alt="comma deliminator phpList" height="253" width="389"/></p>
<p>You must also indicate the delimiter, this is what separates each item in your CSV (in place of the column lines). If you are unsure what the delimiter of your file is, you can open the file into a plain text editor such as Notepad. You will see what is separating the items. In this case it is a comma, so we put a <strong>,</strong> in the <strong>Field Delimiter </strong>box.
<br/></p>
<p><img src="static/phpList_import_emails_20.png" alt="how to tell what deliminator as csv uses" height="205" width="362"/></p>
<p>There are various other options on this page, which all have a description. Generally, it is good to keep the <strong>Test Output</strong> option checked.
</p>
<p>Use the <strong>Overwrite existing</strong> and/or <strong>Retain old email </strong>options to preserve the data set which should be held safe; it is the source of most up-to-date data.
</p>
<p> When you have finished filling out this form, click<strong> Import</strong>.
<br/></p>
<p><img src="static/phpList_import_emails_21.png" alt="import" height="171" width="242"/></p>
<p>
</p>
<p>You will now see a page where you can match the data in your file to attributes on the system. Attributes such as <strong>Foreign Key</strong> and <strong>Email</strong> will not appear on this page because the system deals with them automatically: all the attribute on this page are new to the system. 
</p>
<p><img src="static/phpList_import_emails_22.png" alt="import attributes phpList" height="384" width="486"/></p>
<p>
</p>
<p>Click on each dropdown - is the correct attribute already in the list? If not, select <strong>Create new one</strong>. This will create a new attribute in your phpList so that next time you import similar data the system can deal with it automatically.
</p>
<p><img src="static/phpList_import_emails_23.png" alt="select attributes to create new ones phpList" height="194" width="448"/></p>
<p><strong>Problem?</strong> If you see something like the image below, where all your attributes are on one line, then you have used the wrong delimiter. 
<br/></p>
<p><img src="static/phpList_import_emails_30.png" alt="problem with attribute import phpList" height="214" width="600"/></p>
<p>You will also see some test data, that will give you a strong indication of whether your import is going well. Each column title from your csv should line up with some data about one of your new subscribers.
</p>
<p> <img src="static/phpList_import_emails_28_1.png" alt="test data import phpList" height="350" width="341"/></p>
<h4><strong>Problems?</strong>
</h4>
<p>
</p>
<p>If you see anything wrong in the test, <em>do not proceed</em>! Click the Reset import session button to start again, check your delimiter settings and/or get help. A messy import is <em>no</em> fun to fix! 
</p>
<p>
</p>
<p>When all attributes have been dealt with and you are happy with your test data, click <strong>Continue</strong>.
</p>
<p>
</p>
<p><img src="static/phpList_import_emails_24.png" alt="import phpList" height="187" width="237"/></p>
<p>
</p>
<p>You will be shown a summary of what will happen when you import. Now you can see that <strong>Foreign Key </strong>and <strong>Email </strong>are matched automatically, and all your other attributes will be created for you.
<br/></p>
<p>
</p>
<p><img src="static/phpList_import_emails_25.png" alt="importing data csv phpList" height="498" width="559"/></p>
<p>If you are satisfied, click <strong>Confirm Import</strong>.
</p>
<p><img src="static/phpList_import_emails_27.png" alt="import complete" height="341" width="512"/> 
</p>
<p>You will see that your subscribers and their data has been imported.
</p>
<h2>Feedback
</h2>
<p>You can discuss this chapter <a href="https://discuss.phplist.org/t/adding-subscribers-to-lists-manual-chapter-feedback-and-discussion/206">here</a>.
<br/></p>
<p>
<br/></p></body></html>